2016-03-18 115 views
1

我正在使用SWRevealViewController来显示右侧菜单。我没有使用BarButtons,但我采取了正常的按钮,因为我的应用程序没有导航栏。我遇到的问题是当我触摸该按钮时,这些方法正常工作,但我无法看到菜单栏进入,并在第二次触摸时出现了侧面菜单。我无法找出问题所在。帮助非常感谢。 'UIButton不能在第一次触摸和第二次触摸时使用ios

-(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]; 
    } 

'

回答

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]; 
    } 
} 
+0

它可以帮助你? @iDeveloper –

0

除去tapGestureRecognizer。这可能是工作

[self.view addGestureRecognizer:self.revealViewController.tapGestureRecognizer]; 
+0

不工作@viratpuar – iDeveloper

0

对我的作品如果我删除的panGestureRecognizer

+0

我删除了panGestureRecognizer和tapGestureRecognizer。还是行不通。我必须点击两次,然后才能正常工作 – iDeveloper

+1

您是否尝试将代码放在'viewDidLoad'而不是'btnMenuClicked'中。在你的代码中,只有当你点击这个代码时,你才会指定显示的行为,这是第二次点击的原因。尝试在viewDidLoad – garanda

+0

完美:) Thax很多@garanda – iDeveloper

相关问题