xon*_*rlz 4 iphone objective-c ipad ios
我在 UIScrollView 里面有一个 UIView,在 UIView 里面是一个按钮。问题是当我按下那个按钮时,按住它(在这种情况下按钮状态被按下)并尝试滚动,我的滚动视图不滚动。在它应该。UIView 中有一个手势识别器,如果我的手按下 UIButton 并滚动,我正在尝试使用它的一个委托来允许滚动视图。我该怎么做呢?
基本上总结一下,如果按下/按住按钮,我需要将触摸事件传递给滚动视图。如果它是来自按钮的触摸事件,那么显然它应该触发按钮的动作而不是滚动。
老问题,但我刚刚遇到这个问题,并认为人们会从答案中受益。如果在 UIScrollView 中有一个 UIControl,默认情况下滚动不会取消触摸事件。解决方案是像这样子类化 UIScrollView:
@implementation PaginationScrollView {}
- (id)init {
self = [super init];
if (self) {
self.canCancelContentTouches = YES;
}
return self;
}
- (BOOL)touchesShouldCancelInContentView:(UIView *)view {
return YES;
}
@end
Run Code Online (Sandbox Code Playgroud)
如果视图是 UIControl,则 touchesShouldCancelInContentView 的默认实现返回 NO。
| 归档时间: |
|
| 查看次数: |
3398 次 |
| 最近记录: |