是否有可能爲UIScrollView處理兩個滾動事件,併爲它後面的UIView觸發事件? 我發現當UIScrollView只禁用它自己的用戶交互時,UIView處理它的觸摸事件。UIScrollView覆蓋UIView,但啓用其觸摸事件?
0
A
回答
0
首先您的視圖中添加滾動視圖和in.h中文件寫入委託<UIGestureRecognizerDelegate,UIScrollViewDelegate>
在您的viewDidLoad寫
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleFingerTap];
[singleFingerTap release];
scrl.scrollEnabled = YES; // scrl is my UIScrollView
scrl.delegate = self;
scrl.contentSize=CGSizeMake(320, 680);
[self.view addSubview:scrl];
而且在handleSingleTap方法編寫代碼。它也會滾動,如果你點擊視圖,handleSingleTap方法將被調用。
0
我在製作UIScrollView覆蓋SpriteKit視圖時遇到了類似的問題,因此用戶可以滾動大型遊戲菜單。滾動視圖'竊取'所有的水龍頭,我不能在滾動視圖後面按按鈕,就像我的'後退按鈕'。我在滾動視圖中也有按鈕,我在我的原始精靈套件場景中擁有處理程序 - 並且厭惡進入我的可滾動視圖。
因此,我通過簡單地將所有的觸摸事件發送給超類和超視圖來解決這個問題。 我不確定是否有任何大的缺點,但我現在得到觸摸和滾動。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesBegan:touches withEvent:event];
[super touchesBegan:touches withEvent:event];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesMoved:touches withEvent:event];
[super touchesMoved:touches withEvent:event];
}
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesCancelled:touches withEvent:event];
[super touchesCancelled:touches withEvent:event];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesEnded:touches withEvent:event];
[super touchesEnded:touches withEvent:event];
}
相關問題
- 1. 覆蓋消耗所有觸摸事件
- 2. UIScrollView消耗觸摸事件
- 3. UIScrollview + UItextview觸摸事件
- 4. 黑莓:覆蓋觸摸事件的經理覆蓋所有其他領域
- 5. UIView子類,觸摸事件
- 6. 在UIView上觸摸事件
- 7. 查看時被其他視圖覆蓋接收觸摸事件
- 8. 的UIView裏面的UIScrollView沒有得到觸摸事件
- 9. 在UIView下縮放UIScrollView,接收觸摸
- 10. 在uiscrollview中處理觸摸事件
- 11. UIScrollView和UIButton觸摸側事件衝突
- 12. UIScrollView觸摸和傾聽事件
- 13. 如何過濾UIScrollView的觸摸事件?
- 14. NS通知觸摸覆蓋
- 15. UIScrollView在3倍變焦UIView覆蓋
- 16. 如何在UIScrollView中啓用觸摸?
- 17. 從Nib的UIView接收觸摸事件
- 18. 從uiview向uiwebview發送觸摸事件
- 19. 的UIView未接收到觸摸事件
- 20. UIView關閉觸摸事件的方式
- 21. 覆蓋FUNC的touchesBegan(觸摸:NSSet中,withEvent事件:的UIEvent){movingground.start()
- 22. 如何在覆蓋窗口上獲得觸摸事件?
- 23. 觸摸在UIScrollView
- 24. UIScrollview觸摸
- 25. 觸摸UIScrollview?
- 26. 忽略覆蓋應用觸摸
- 27. 觸摸事件(touchesMoved)不工作UIScrollView裏面UIScrollView
- 28. UIScrollView覆蓋
- 29. UIScrollView覆蓋
- 30. 觸摸事件
謝謝我會試試 – user2159978 2013-03-13 11:53:32