Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SWRevealViewController无故事板,并使用UIButton切换_Ios_Objective C_Iphone_Swrevealviewcontroller - Fatal编程技术网

Ios SWRevealViewController无故事板,并使用UIButton切换

Ios SWRevealViewController无故事板,并使用UIButton切换,ios,objective-c,iphone,swrevealviewcontroller,Ios,Objective C,Iphone,Swrevealviewcontroller,我正在尝试使用没有故事板和UIButton的SWRevealViewController。我的项目有两个带有nib的UIViewController。主要的一个称为ViewController,另一个称为MenuViewController 在我的ViewController中,我有以下代码: - (void)viewDidLoad { [super viewDidLoad]; MenuViewController *menuView; SWRevealViewCon

我正在尝试使用没有故事板和UIButton的SWRevealViewController。我的项目有两个带有nib的UIViewController。主要的一个称为ViewController,另一个称为MenuViewController

在我的ViewController中,我有以下代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    MenuViewController *menuView;

    SWRevealViewController *revealViewController = [[SWRevealViewController alloc] initWithRearViewController:menuView frontViewController:self];

    if ( revealViewController )
    {
        [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    }
}

- (IBAction)toggleMenu:(id)sender {
    NSLog(@"Toggling menu");
    SWRevealViewController *revealController = self.revealViewController;
    [revealController rightRevealToggleAnimated:YES];
}

切换菜单按钮按预期打印“切换菜单”,但不显示菜单控制器。我知道这不是使用SWRevealViewController的常规方法,但有人知道如何让它工作吗?

在viewDidLoad()中添加以下行


在viewDidLoad()中添加以下行


你可以试一下这个,稍作修改。这对我很有帮助

- (IBAction)toggleMenu:(id)sender{
    [self.btn addTarget:self.revealViewController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
}

你可以试一下这个,稍作修改。这对我很有帮助

- (IBAction)toggleMenu:(id)sender{
    [self.btn addTarget:self.revealViewController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
}

这里有两种方法用于为SWRevealViewController设置两个(左视图和右视图)视图控制器。只需在
viewDidLoad
中调用它们即可

-(void) initSlideMenu
{
    SWRevealViewController * menuViewController =  (SWRevealViewController *)self.revealViewController;

    if (menuViewController)
    {
        [_menuButton setTarget:self.revealViewController];
        [_menuButton setAction:@selector(revealToggle:)];
        [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    }
}
-(void) initRightMenu
{
    SWRevealViewController * rightViewController = (SWRevealViewController *)self.revealViewController;
    if (rightViewController)
    {
        rightViewController.rightViewRevealOverdraw =0.0f;
        [_notificationButton setTarget:self.revealViewController];
        [_notificationButton setAction:@selector(rightRevealToggle:)];
        [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    }
}

这里有两种方法用于为SWRevealViewController设置两个(左视图和右视图)视图控制器。只需在
viewDidLoad
中调用它们即可

-(void) initSlideMenu
{
    SWRevealViewController * menuViewController =  (SWRevealViewController *)self.revealViewController;

    if (menuViewController)
    {
        [_menuButton setTarget:self.revealViewController];
        [_menuButton setAction:@selector(revealToggle:)];
        [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    }
}
-(void) initRightMenu
{
    SWRevealViewController * rightViewController = (SWRevealViewController *)self.revealViewController;
    if (rightViewController)
    {
        rightViewController.rightViewRevealOverdraw =0.0f;
        [_notificationButton setTarget:self.revealViewController];
        [_notificationButton setAction:@selector(rightRevealToggle:)];
        [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    }
}

那是行不通的。我还添加了一些委托方法,但它们也没有被调用。这不起作用。我还添加了一些委托方法,它们也没有被调用。