SwrevealViewController Uibutton Action首先点击不起作用,此后正常工作



我已经为侧菜单完成了一些演示项目。我正在使用右侧菜单显示侧面菜单视图。在这里,从VC1到VC 2推。在VC2中,我有一个按钮打开右侧菜单。但是在这里,当我第一次单击时,它不起作用。第二次单击后,它不起作用。

山姆如果我回去再来。首先单击它不起作用。第二次单击其工作正常后。知道为什么会发生?

我的演示项目:这里

我添加了下面的uibutton动作。

//从V1到V3 VC

- (IBAction)tap:(id)sender {
NSString * storyboardName = @"Main";
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
    VC3 * vc = [storyboard instantiateViewControllerWithIdentifier:@"VC3"];
    [self.navigationController pushViewController:vc animated:YES];
}

显示菜单:

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

使您在 ViewDidLoad中按钮目标动作。不要创建ibAction来触发侧面菜单。

- (void)viewDidLoad {
    [super viewDidLoad];
    SWRevealViewController *revealViewController = self.revealViewController;
    if ( revealViewController )
    {
        [self.yourButton addTarget:self.revealViewController action:@selector(rightRevealToggle:) forControlEvents:UIControlEventTouchUpInside];
    }
}

我已经检查了您的代码。您只需要做一个更改。

[self.btn addTarget:self.revealViewController action:@selector(rightRevealToggle:) forControlEvents:UIControlEventTouchUpInside];

- (IBAction)DASD:(id)sender删除上面的代码,并添加viewDidLoad VC3.m文件的方法。

因此,您的 VC3.m文件代码如下: -

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.btn addTarget:self.revealViewController action:@selector(rightRevealToggle:) forControlEvents:UIControlEventTouchUpInside];
}
- (IBAction)DASD:(id)sender {}

最新更新