Nat*_*kel 19 iphone tap touch uiscrollview ios
我目前正在使用UIScrollView作为滚动/拖动我在我的应用程序上显示的图形的光标/标记的方式.我使用scrollViewDidScroll等来检测contentoffset的位置,并根据此位置操纵我在屏幕上显示的内容.
我的问题是,是否可以检测用户在屏幕上的单击并获得此点击的位置(然后将内容偏移设置为此位置)?
我已经阅读了一些描述创建uiscrollview的子类的教程,但看起来这些子类只会占用一次,而不是拖动/滚动.
有没有人知道如何在我的UIScrollView上检测用户的单击,同时还具有滚动/拖动功能?
先感谢您!
AJS*_*AJS 33
对scrollView对象使用以下代码:
UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
singleTapGestureRecognizer.numberOfTapsRequired = 1;
singleTapGestureRecognizer.enabled = YES;
singleTapGestureRecognizer.cancelsTouchesInView = NO;
[scrollView addGestureRecognizer:singleTapGestureRecognizer];
//[singleTapGestureRecognizer release]; Not needed in ARC-enabled Project
Run Code Online (Sandbox Code Playgroud)
}
- (void)singleTap:(UITapGestureRecognizer *)gesture {
//handle taps
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特3
let scrollViewTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(scrollViewTapped(_:)))
scrollViewTapGestureRecognizer.numberOfTapsRequired = 1
scrollViewTapGestureRecognizer.isEnabled = true
scrollViewTapGestureRecognizer.cancelsTouchesInView = false
scrollView.addGestureRecognizer(scrollViewTapGestureRecognizer)
func scrollViewTapped(_ sender: UITapGestureRecognizer) {
print("UIScrollView was tapped.")
}
Run Code Online (Sandbox Code Playgroud)