2016-10-30 2 views
-1

Ich arbeite auf App, die zwei Sprachen (Englisch und Arabisch), Ich habe Slide-out-Menü mit "SWrevealviewcontroller" Lib für die linke Seite, Ich möchte Folie wechseln Menü auf der rechten Seite öffnen Formular links auf Sprachwechsel (Arabisch) und wieder zurück auf die rechte Seite nach links für die englische Sprache. Wie können wir es archivieren? DankeSWrevealviewcontroller: Switch-Menü Richtung von links nach rechts pragmatisch

+1

Setzen Sie einige Ihrer Code hier – Firefog

Antwort

1

Eigentlich müssen Sie die Anwendungssprache, sagen wir, Sie haben Helper-Klasse und setzen statische Methode, um die Sprache der Anwendung zu bekommen.

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 
    } 
} 

ich das auf meine Anwendungen tat, Hoffnung das funktioniert für Sie

UPDATE:

1.Change die Überleitungskennung zu "sw_right". 2. NOW in SWRevealViewController in loadStoryboardControllers Mehtod Kommentar ersten Fang wie diese

-//  @try 
-//  { 
-//   [self performSegueWithIdentifier:SWSegueRightIdentifier sender:nil]; 
-//  } 
-//  @catch(NSException *exception) {} 
versuchen
  1. in ausführen Methode

    NSString * Kennung = selbst diesen Code hinzufügen. Kennung;

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

    }

+0

nicht für mich gearbeitet, nach dem Weg, ich habe so: Überschreibung func viewDidLoad() { wenn self.revealViewController()! = nil { menuBtn.target = self.revealViewController() lass currentLang = userDefaultData.valueForKey ("lang") as! String wenn currentLang == "en" { menuBtn.action = #selector (SWRevealViewController.revealToggle (_ :)) } else { menuBtn.action = #selector (SWRevealViewController.rightRevealToggle (_ :)) } self.view.addGestureRecognizer (self.revealViewController(). panGestureRecognizer()) } } –

+0

Es funktioniert nicht, weil ich die Segmentkennung auf "sw_rear" vom Storyboard gesetzt habe. Wenn ich weiß, wie man den Bezeichner "sw_rear" von der Kodierung in "sw_right" ändert, wird mein Problem gelöst. –

+0

wie Sie den Bezeichner programmgesteuert ändern. Ich muss sowohl sw_rear für Englisch und sw_right für Arabisch verwenden. –

Verwandte Themen