2016-03-18 151 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

相關問題