【发布时间】:2012-01-25 02:26:28
【问题描述】:
我为 iOS 5 通知中心制作了一个小部件,它实现了 UISlider 和 UITapGestureRecognizer。
gestureRecognizer 工作正常,但UISlider 非常迟钝,如果拇指被触摸和拖动,只会移动少量。
它不会移动,直到再次触地。有没有办法绕过这个限制? (我没有在它上面加载任何视图,它在 iPhone 和 iPod Touch 上运行良好)。
【问题讨论】:
我为 iOS 5 通知中心制作了一个小部件,它实现了 UISlider 和 UITapGestureRecognizer。
gestureRecognizer 工作正常,但UISlider 非常迟钝,如果拇指被触摸和拖动,只会移动少量。
它不会移动,直到再次触地。有没有办法绕过这个限制? (我没有在它上面加载任何视图,它在 iPhone 和 iPod Touch 上运行良好)。
【问题讨论】:
我终于找到了修复它的方法。 您应该在 viewWillAppear 上将 superviews 手势识别器的 cancelTouchesInView 属性设置为 NO。
- (void)viewWillAppear {
if (deviceIsIPAD()) {
UIView *list = [[objc_getClass("SBBulletinListController") sharedInstance] listView];
for (UIGestureRecognizer *gr in list.gestureRecognizers) {
gr.cancelsTouchesInView = NO;
}
}
}
【讨论】: