2016-06-01 15 views
-1

Ich möchte LGSideMenuController in meinem Projekt verwenden.So verwenden Sie LGSideMenuController

Ich habe ein Problem aus dem Schritt:

// Initialization 
- (instancetype)initWithRootViewController:(UIViewController *)rootViewController; 

Meine Frage: Wo es hinzufügen? Ich habe es in viewcontroller.h hinzugefügt, ist es richtig?

und zweite Schritt ist:

- (void)setLeftViewEnabledWithWidth:(CGFloat)width 
        presentationStyle:(LGSideMenuPresentationStyle)presentationStyle 
       alwaysVisibleOptions:(LGSideMenuAlwaysVisibleOptions)alwaysVisibleOptions; 
- (void)setRightViewEnabledWithWidth:(CGFloat)width 
        presentationStyle:(LGSideMenuPresentationStyle)presentationStyle 
       alwaysVisibleOptions:(LGSideMenuAlwaysVisibleOptions)alwaysVisibleOptions; 

Meine Frage: Ich habe habe es in meinem viewcontroller.h. Ist es richtig?

und dritte Schritt ist:

ViewController *viewController = [ViewController new]; 

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController]; 

LGSideMenuController *sideMenuController = [[LGSideMenuController alloc] initWithRootViewController:navigationController]; 

[sideMenuController setLeftViewEnabledWithWidth:250.f 
           presentationStyle:LGSideMenuPresentationStyleScaleFromBig 
          alwaysVisibleOptions:0]; 

TableViewController *leftViewController = [TableViewController new]; 

[sideMenuController.leftView addSubview:leftViewController.tableView]; 

Meine Frage - ich habe es in meinem viewcontroller.m hinzugefügt, aber es zeigt Alarm folgende:

not found method setlef... ; setright... and instancetype ; 

Bitte mir helfen, es in meine Projekte zu integrieren.

Antwort

3

Eigentlich haben die Leute, die diese Third Party Lib erstellt haben, dies deutlich gemacht.

Antwort auf Ihre Fragen; Nopes, Sie müssen keine der Methoden zu Ihrer ViewController.h-Datei oder anderswo hinzufügen. Methoden sind bereits in LGSideMenuController.h. Importieren Sie es einfach an die Stelle, an der Sie es verwenden möchten.

Unter der Annahme, dass Sie die Dritte lib heruntergeladen haben, und fügte hinzu, es zu einem Projekt, das ist, was Sie tun müssen:

Zunächst einmal legen zum ViewController.h oder AppDelegate.h Datei folgende Zeile (Wenn Sie resetting the root VC programmatically) . Schreibe es dort auf, wo du deine Import-Anweisungen gespeichert hast (das bedeutet den Anfang der Datei).

#import "LGSideMenuController.h" 

Jetzt können Sie zugreifen, erstellen und Instanzen von LGSideMenuController in Ihrem Viewcontroller ändern.

Dann müssen Sie Ihr Side-Menü initialisieren.

Das Verfahren für das heißt:

- (instancetype) initWithRootViewController:(UIViewController *)rootViewController; 

Sie diese wie in Ihrer didFinishLaunching Methode in Ihrer AppDelegate.m erstellen:

ViewController *viewController = [ViewController new]; //Your root VC 
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController]; //Create a new navigation controller and assign your VC to that navigation controller 
LGSideMenuController *sideMenuController = [[LGSideMenuController alloc] initWithRootViewController:navigationController]; //Create instance of your side menu and pass your navigation controller as parameter here. 

Nun, da Sie eine Instanz erstellt haben, ist es Zeit, Weisen Sie ihm eine linke oder rechte Ansicht zu, wie Sie es bevorzugen. Gerade jetzt, lassen Sie uns links Ansicht tun:

[sideMenuController setLeftViewEnabledWithWidth:250.f      presentationStyle:LGSideMenuPresentationStyleScaleFromBig 
          alwaysVisibleOptions:0]; 

TableViewController *leftViewController = [TableViewController new]; 

[sideMenuController.leftView addSubview:leftViewController.tableView]; 

Jetzt brauchen Sie nur Ihre sideMenuController präsentieren, haken die Ereignisse richtigen Knöpfe und das ist es. Wenn Sie nicht wissen, wie Sie das tun, lesen Sie die anderen Fragen zu stackoverflow.

IDK jedoch Ihre Anforderungen, aber ich würde vorschlagen, SWRevealViewController für Seitenmenü verwenden. Es ist einfach, elegant und sehr einfach zu bedienen mit viel Hilfe.

+0

danke für Ihre Hilfe, ich werde es versuchen! –

+0

Vielen Dank Bro! Aber ich habe ein Problem, ich lese nur eine Codezeile und versuche zu verstehen, dass es gemein ist. Kaka, ich bin dumm! –

+0

LGSideMenuController ist in Ordnung. Sie können sogar das gesamte Menü im Storyboard ausführen, ohne einen Code zu berühren, und Sie erhalten einen funktionierenden Menüschieberegler, wenn Sie ihn ausführen. – AndaluZ