2014-10-02 55 views
1

在IOS 8中,它有一個新功能來在滑動時隱藏欄。所以我試了一下。但是,它禁用了我的其他刷卡。代碼是這樣的:IOS navigationController.hidesBarsOnSwipe diabled其他刷卡

self.navigationController.hidesBarsOnSwipe = YES; 

// The follow code works if I comment out the above line 
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(backBarButtonItemPressed:)]; 
[swipe setDirection:UISwipeGestureRecognizerDirectionRight]; 
[swipe setNumberOfTouchesRequired:1]; 
[self.view addGestureRecognizer:swipe]; 
[self.webView.scrollView.panGestureRecognizer requireGestureRecognizerToFail:swipe]; 

有沒有人有類似的問題?

謝謝。

回答

0
navigationController?.hidesBarsOnSwipe = true 
navigationController?.hidesBarsOnTap = true 
+0

添加以下代碼,但它不工作。正確的輕掃仍然不起作用。 self.navigationController.hidesBarsOnSwipe = YES; – user890207 2014-10-02 15:50:34

0

在您的手勢識別器上設置代表。即實現協議

UIGestureRecognizerDelegate

然後用適當的方法例如

gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

,以確定如何在兩個手勢識別應共同努力。 你可以得到導航手勢識別與

self.navigationController.barHideOnSwipeGestureRecognizer

0

實施UIGestureRecognizerDelegate

,並覆蓋以下方法:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
    return true 
}