我正在使用SWRevealViewController来显示右侧菜单。我没有使用BarButtons,但我已经采取了一个正常的按钮,因为我的应用程序没有导航栏。我面临的问题是当我触摸该按钮时方法正常工作但我看不到菜单栏进来,第二次触摸侧面菜单进来。我无法弄清楚问题。帮助得到很多赞赏。 '
-(IBAction)btnMenuClicked:(id)sender
{
SideMenuTableViewController *sidemenuController = (SideMenuTableViewController *)revealViewController.rightViewController;
sidemenuController.pitcherArray = [nTimerArray mutableCopy];
revealViewController.rearViewRevealWidth = self.view.bounds.size.width - 50;
if (revealViewController)
{
[self.btnMenu addTarget:self.revealViewController action:@selector(rightRevealToggle:) forControlEvents:UIControlEventTouchUpInside];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
[self.view addGestureRecognizer:self.revealViewController.tapGestureRecognizer];
}
[sidemenuController.tableView reloadData];
}
答案 0 :(得分:3)
首先导入 SWRevealViewController
#import "SWRevealViewController.h"
为按钮创建 property
,如下所示......
@property (weak, nonatomic) IBOutlet UIButton *rearButton;
在 ViewDidLoad
方法中,只需使用此代码即可。它可以帮助您解决问题。
- (void)viewDidLoad {
[super viewDidLoad];
SWRevealViewController *revealViewController = self.revealViewController;
if ( revealViewController )
{
[self.rearButton addTarget:self.revealViewController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
}
答案 1 :(得分:0)
删除tapGestureRecognizer
。这可能是工作
[self.view addGestureRecognizer:self.revealViewController.tapGestureRecognizer];
答案 2 :(得分:0)
如果删除panGestureRecognizer