ios - SWRevealViewController टॉगल को नहीं



objective-c navigation (1)

आखिरकार मैं अपनी समस्या हल करने में कामयाब रहा। जॉन Lluch उदाहरण के अनुसार, मैं अपने कोड संशोधित। स्टोरीबोर्ड का उपयोग किए बिना समाधान है:

AppDelegate.h

#import <UIKit/UIKit.h>
#import "SplashScreenController.h"
#import "SWRevealViewController.h"

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *navigationController;
@property (strong, nonatomic) SplashScreenController *viewController;
@property (strong, nonatomic) SWRevealViewController *revealController;

@end

AppDelegate.m

#import "AppDelegate.h"
#import "ContentViewController.h"
#import "NavigationTableViewController.h"


@interface AppDelegate()<SWRevealViewControllerDelegate>

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    SplashScreenController *frontViewController = [[SplashScreenController alloc] initWithNibName:@"SplashScreenController" bundle:nil];
    NavigationTableViewController *rearViewController = [[NavigationTableViewController alloc] init];
    UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
    SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:rearViewController frontViewController:frontNavigationController];

    revealController.delegate = self;

    self.window.rootViewController = revealController;

    [self.window makeKeyAndVisible];

    return YES;

}

ContentViewController.h

#import <UIKit/UIKit.h>

@interface ContentViewController : UIViewController
@end

ContentViewController.m

#import "ContentViewController.h"
#import "SWRevealViewController.h"
#import "NavigationTableViewController.h"
#import <sqlite3.h>

@interface ContentViewController()<SWRevealViewControllerDelegate>

@end

@implementation ContentViewController



- (void)viewDidLoad {

    [super viewDidLoad];

    SWRevealViewController *revealController = [self revealViewController];
    [revealController panGestureRecognizer];
    [revealController tapGestureRecognizer];

    UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] style:UIBarButtonItemStyleBordered target:revealController action:@selector(revealToggle:)];

    self.navigationItem.leftBarButtonItem = revealButtonItem;

}

स्टोरीबोर्ड का उपयोग किए बिना मैं एक प्रोजेक्ट में SWRevealViewController को लागू करने की कोशिश कर रहा हूं I मुझे लगता है कि यह संभव है लेकिन मैं दुर्भाग्य से विफल हुआ। नेविगेशन बार में बटन उस पर "परिभाषित टॉगल" क्रिया को परिभाषित नहीं करता है इसलिए नेविगेशनटैबविय कंट्रोलर कभी नहीं दिखाया जाता है। मुझे समझ में नहीं आता क्यों ... मैंने इस समस्या का कई घंटों का हल खोजा। किसी की मदद की बहुत सराहना की जाएगी

#import "ContentViewController.h"
#import "NavigationTableViewController.h"

@interface ContentViewController()<SWRevealViewControllerDelegate>

@end

@implementation ContentViewController

- (void)viewDidLoad {
[super viewDidLoad];

// Do any additional setup after loading the view from its nib.
//[self.navigationItem setHidesBackButton:YES animated:YES];

UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window = window;

ContentViewController *frontViewController = self;
NavigationTableViewController *rearViewController = [[NavigationTableViewController alloc] init];
UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:rearViewController frontViewController:frontNavigationController];
revealController.delegate = self;

[revealController panGestureRecognizer];
[revealController tapGestureRecognizer];


self.viewController = revealController;
self.window.rootViewController = self.viewController;

UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"]
                                                                     style:UIBarButtonItemStyleBordered target:revealController action:@selector(revealToggle:)];
self.navigationItem.leftBarButtonItem = revealButtonItem;

}




swrevealviewcontroller