簡體   English   中英

UITapGestureRecognizer無法在iOS9上運行

[英]UITapGestureRecognizer not working on iOS9

我有一個使用UITapGestureRecognizers的應用程序,似乎在iOS9 Beta 2中不起作用。

他們成功地打電話了

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
  NSLog(@"shouldReceiveTouch");
  return YES;
}

但它沒有擊中任何其他UITapGesture委托方法。

當我在iOS 8上運行的設備上運行相同的應用程序(來自Xcode 7)時,它按預期工作。

還有其他人打過這個嗎?

以下是我初始化UITapGestureRecognizer的方法。 TapGestureRecognizerSetup

編輯
如果我在代碼中而不是在ViewController xib中創建UITapGestureRecognizer它可以正常工作,那么iOS9中的xib解析就可以了。

_tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onMainViewTap:)];
_tapGesture2.numberOfTapsRequired = 1;
_tapGesture2.delegate = self;
[self.view addGestureRecognizer:_tapGesture2];

EDIT2
如果我刪除了XIB中的GestureRecognizer並使用XCode 7再次將其添加回來,它也有效。 當我這樣做時,它將<pressTypeMask key="allowedPressTypes"/>到UITapGestureRecognizer下的xib中。

似乎iOS9在手勢識別器的xml中查找<pressTypeMask key="allowedPressTypes"/>行,如果沒有它,則點擊識別器不起作用。 要解決此問題,您可以在代碼中構建識別器,將該行添加到xml中,或刪除並在Xcode 7中重新添加手勢識別器,這將正確地將pressTypeMask添加到xml中。

我想知道蘋果是否會在沒有XML的那一行的情況下修復iOS9,但是現在,這是一個簡單的修復。

我也遇到了這個問題,特別是當試圖獲取我的按鈕和視圖時,在表格單元格中點擊手勢以響應其布局在xib中定義的點擊。 在iOS 8和10上工作得很好,但不是9.真正的問題是我將它們添加到自定義uiview並將視圖的類分配給我的UITableViewCell子類,而不是在IB中使用Table View Cell對象。 因此,我沒有將我的子視圖添加到IB對象為您提供的contentView ,從而導致我遇到問題。 修復是重做xib以使用表視圖單元格作為我的根,所以我可以將我的子視圖附加到內容視圖。

實現UIGestureRecognizer的所有可選委托將起作用。

我通過Xcode-7 beta 2檢查了它

我用gesturerecognizer創建了vc,並為屬性和動作創建了出口。 在viewDidload中設置了委托,如下所示: 在此輸入圖像描述

在調試期間調用的所有方法 - 我都標記為//被調用

我收到了下一個方法的事件:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
    print("worked")
    // called
    return true
}

 func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool
 {
    //called
    print("worked")
    return true
}


 func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOfGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool
 {
    print("worked")
    //called
    return true
}

嘗試重新創建我提到的項目並檢查所有的商店和代表

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM