我有UIView
裏面UIScrollView
,和UIViewControllers
這些意見是沒有接收觸摸事件。如果我將視圖移出滾動視圖,那麼它就可以工作。觸摸事件(touchesMoved)不工作UIScrollView裏面UIScrollView
UserInteraction是所有視圖的默認ON,但它仍然不起作用!
這一定是可能的,如果有人能指引我朝着正確的方向,我會非常感激!
非常感謝,
我有UIView
裏面UIScrollView
,和UIViewControllers
這些意見是沒有接收觸摸事件。如果我將視圖移出滾動視圖,那麼它就可以工作。觸摸事件(touchesMoved)不工作UIScrollView裏面UIScrollView
UserInteraction是所有視圖的默認ON,但它仍然不起作用!
這一定是可能的,如果有人能指引我朝着正確的方向,我會非常感激!
非常感謝,
下面的代碼添加到實施文件,然後觸摸移動
@interface UIScrollView(Custom)
@end
@implementation UIScrollView(Custom)
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesMoved:touches withEvent:event];
}
@end
感謝它的工作。現在面臨新問題 – Zeeshan 2013-03-21 07:32:58
@Vinodh。你還可以提一下,爲什麼要這樣做,這樣才能讓新手理解正在發生的事情。 我相信,當uiview被添加到滾動視圖時,所有觸摸事件都會被滾動視圖接收,因此touchesBegan,touchesMoved不會被調用。如果我錯了,請糾正我。 – 2014-12-04 11:14:50
您可以用下面的方法
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[yourView addGestureRecognizer:panRecognizer];
,並處理它
-(void)move:(id)sender {
if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateChanged){
// This will return you location in view
CGPoint currentPoint = [sender locationInView:self.view];
// This will return you location in Scrollview
CGPoint scrollPoint = [sender locationInView:[[sender view] superview]];
}
}
你爲什麼不使用手勢識別器相同 – 2013-03-21 07:00:54
我特別需要touchesMoved方法調用,哪個手勢可以爲此工作? – Zeeshan 2013-03-21 07:03:21
touchesMoved不工作在UIScrollView – NANNAV 2013-03-21 07:05:41