我有一个PageControl
,每个页面(ViewController
)都有不同数量的imageviews
(UIImageView
),这是动态创建的。
为每个imageview
分配一个gesture recognizer (tapped or move)
。由于这些内容位于PageControl
内,因此我想启用/停用gesture recognizer
,以便它不会干扰swipe
页面事件。
我知道有一个removeGestureRecognizer
方法,但我不想每次删除和附加它。是否只有启用和禁用的等效项?
由于
答案 0 :(得分:3)
您可以使用UIGestureRecognizer的启用或禁用属性,如:
swipeGestureRecognizer.enabled = NO;
或者你可以使用手势识别器方法返回 null 如果你不想触摸
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch;
答案 1 :(得分:2)
如果你想同时禁用所有手势,你可以这样做
imageView.userIntractionEnabled = NO;
如果您只想禁用一个手势识别器,那么</ p>
NSArray *gestures = imageView.gestureRecognizers;
for(UIGestureRecognizer *gesture in gestures)
{
if([gesture isKindOfClass: [UITapGestureRecognizer class]])
{
gesture.enabled = NO;
}
答案 2 :(得分:1)
您可以为userInteractionEnabled
停用UIImageView
吗?你可以在Interface Builder中做到这一点,或者你可以这样编程设置它 - imageView.userInteractionEnabled = NO;
希望这有帮助...