我有一些UIViews
在它一個UIScrollView
相互作用。 我想要做的是在UIViews被觸摸/未觸及時捕捉觸摸事件。檢測觸摸在內部的UIScrollView一個UIView優選禁用
我遇到的問題是UIScrollView
似乎吞噬了所有的觸摸事件,特別是如果你在UIView
上持有太久。
我優選希望UIScrollView
具有用戶交互禁用,因爲它會自動滾動。
這可能嗎?
我試圖子類UIViews
但觸摸事件從未在叫。
我有一些UIViews
在它一個UIScrollView
相互作用。 我想要做的是在UIViews被觸摸/未觸及時捕捉觸摸事件。檢測觸摸在內部的UIScrollView一個UIView優選禁用
我遇到的問題是UIScrollView
似乎吞噬了所有的觸摸事件,特別是如果你在UIView
上持有太久。
我優選希望UIScrollView
具有用戶交互禁用,因爲它會自動滾動。
這可能嗎?
我試圖子類UIViews
但觸摸事件從未在叫。
也許你重新排序意見,使具有與之相關聯的觸摸識別對象的視圖是應用程序識別什麼。移動它在文檔大綱頂端(滾動視圖)
您可以沿着這些線路附加tapGesture
您scrollview
的東西:
UITapGestureRecognizer* tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureUpdated:)];
tapGesture.delegate = self;
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[self addGestureRecognizer:_tapGesture];
然後在- (void)tapGestureUpdated:(UITapGestureRecognizer *)tapGesture
方法,這是你的責任,以確定觸摸的位置並查看是否有某個子視圖正在拾取。然後你可以調用委託的方法來通知特定的視圖已經被觸動。
這種方法只能被調用一次嗎?如果時間觸摸在UIView上,我想要長度,所以需要touchStart和touchEnd事件。 – Darren
的tapGesture參數有一個狀態,如UIGestureRecognizerStateBegan或UIGestureRecognizerStateEnd我會用這個來檢測你有興趣的兩個觸摸事件 – tiguero
確保ü閱讀的tapgesture官方文檔,但:http://developer.apple.com/library/ ios /#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html#// apple_ref/occ/cl/UIGestureRecognizer – tiguero
我沒有想到這一點,但我認爲這將是非常難以移動的UIView相同的速度滾動視圖 – Darren
@Darren嗯。怎麼樣一個UIButton設置爲自定義,並將alpha bg設置爲0.0?此外,如果您添加一個UIView,它不一定要隨UIScrollView一起移動... – jpcguy89