我注意到我的应用程序存在一个奇怪的问题,该问题仅发生在 iPhone 3G 和 iPhone 3GS 上。我正在创建一个包含两页的 ScrollView 。在滚动的第二页上,当您尝试滚动选择器时,它非常没有响应。看来我的应用程序无法区分选择器的滚动和 ScrollView 的滚动,因为有时您向上滚动,它会向左滚动。
请记住,这在 iPhone 4 和 iPhone 4S 上效果很好。
有人以前遇到过这个问题或者知道实际发生了什么吗?
最佳答案
显然,如果一起使用 UIScrollView 和 UIPickerView 会导致问题。不过,这只发生在 iPhone 3 和 iPhone 3GS 上。
解决方案是子类化 UIScrollView 并实现以下方法。
- (UIView *)hitTest:(CGPoint)point
withEvent:(UIEvent *)event
{
UIView *result = [super hitTest:point withEvent:event];
if ([result.superview isKindOfClass:[UIPickerView class]]) {
self.canCancelContentTouches = NO;
self.delaysContentTouches = NO;
}
else {
self.canCancelContentTouches = YES;
self.delaysContentTouches = YES;
}
return result;
}
关于iPhone ScrollView 和 Picker 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10283220/