2016-10-30 88 views
-1

我工作的應用程序有兩種語言(英語和阿拉伯語), 我有實施滑動菜單使用左側「SWrevealviewcontroller」庫, 我想切換幻燈片在右邊的菜單右側顯示語言改變(阿拉伯語)的左側,然後再次切換回右側的語言。 我們如何存檔它?謝謝SWrevealviewcontroller:切換滑出菜單方向從左到右實用

+1

將按照自己的方式來一些您的代碼在這裏 – Firefog

回答

1

其實你必須得到應用程序語言,比方說你有Helper類,並把靜態方法來獲取應用程序的語言。

Helper.m

+(void)getApplicationLanguage{ 
//return application language 
} 

ViewController.m

-(IBAction)menuButtonClicked:(id)sender{ 
    if ([[Helper getApplicationLanguage] isEqualToString:@"Arabic"]){ 
     //slide from right 
    }else{ 
    //slide from left 
    } 
} 

我這樣做對我的應用程序, 希望這對你的作品

UPDATE:

1.更改segue標識符爲「sw_right」。 2.現在在SWRevealViewController 在loadStoryboardControllers mehtod 評論首先嚐試捕獲像這樣

-//  @try 
-//  { 
-//   [self performSegueWithIdentifier:SWSegueRightIdentifier sender:nil]; 
-//  } 
-//  @catch(NSException *exception) {} 
  • 在執行方法添加此代碼

    的NSString *標識符=自我。標識符;

    if (![identifier isEqualToString:SWSegueFrontIdentifier]) { 
        if ([[H getApplicationLanguage]isEqualToString:ARABIC_LANGUAGE]) { 
         identifier = @"sw_right"; 
        }else{ 
         identifier = @"sw_rear"; 
        } 
    

    }

  • +0

    並沒有爲我工作,我不喜歡這樣的: 覆蓋FUNC viewDidLoad中(){ 如果self.revealViewController ()!= nil menuBtn.target = self.revealViewController() let currentLang = userDefaultData.valueForKey(「lang」)as!字符串 如果currentLang == 「恩」 { menuBtn.action = #selector(SWRevealViewController.revealToggle(_ :)) }其他 { menuBtn.action = #selector(SWRevealViewController.rightRevealToggle(_ :)) } self.view.addGestureRecognizer(self.revealViewController()。panGestureRecognizer()) }} 其 –

    +0

    不工作,因爲我已經設置SEGUE標識符,以故事板「sw_rear」。 如果我知道如何從編碼中將標識符「sw_rear」更改爲「sw_right」,那麼我的問題將解決。 –

    +0

    如何以編程方式更改標識符。我需要使用英語sw_rear和阿拉伯語sw_right。 –