我目前有UIGesture:取消已經開始的iOS
我有一個孩子UIViewController
我的主要UIViewController
內。在這個孩子UIViewController
我有一個UITableView
,雖然任何東西都可以在裏面(UIScrollView
,UIImageView
,組成不同的UIViews
子類)。
在我的主要UIViewController
我有GestureRecognizerDelegate
,所以我收到回調時的姿勢製成,像這樣:
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer movedWithTouches:(NSSet*)touches andEvent:(UIEvent *)event;
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer endWithTouches:(NSSet*)touches andEvent:(UIEvent *)event;
@optional
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer beganWithTouches:(NSSet*)touches andEvent:(UIEvent *)event;
有關主要UIViewController
頂部做了一個特別的姿勢,我顯示一個小UIView
與UIImageView
。所以基本上當觸摸從頂部到底部時,UIView動畫並顯示圖像,當我從屏幕釋放手指時,UIView
返回頂部。這與Apple提供的通知中心非常相似,不同之處在於我不控制它的滾動,它只顯示頂部200px。
問題:
理論上UIView
與UIImage
是我的層次結構中的頂級EST UIView
,但是當我把寫有我的區域手指左右移動,我可以看到UITableView
它下面,移動。對我來說,這是沒有意義的,因爲UIView
與UIImageView
應該捕獲這些手勢。
我想要什麼:
簡單,當我告訴了UIView
與UIImage
禁用所有對childViewController
的相互作用。
我曾嘗試:
目前我有這樣的:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
如果我把爲NO,UIView
與UIImage
甚至不顯示。
如果我把myChildViewController.view.userInteractionEnabled = NO
這樣的東西,因爲手勢已經開始,它將無法工作。當然,如果我在手勢開始之前使用它,那麼一切都將按預期工作。但問題是,我將無法使用UITableView
。