iPhone ScrollView和Picker问题

时间:2012-04-23 15:11:25

标签: iphone objective-c ios

我注意到我的应用程序存在一个奇怪的问题,只发生在iPhone 3G和iPhone 3GS上。我正在创建一个包含两个页面的滚动视图。在滚动的第二页上,当您尝试滚动选择器时,它非常没有响应。有点似乎我的应用程序无法区分选择器的滚动和滚动视图的滚动,因为有时你向上滚动它向左移动。

请记住,这适用于iPhone 4和iPhone 4S。

之前有没有人遇到过这个问题,或者对实际发生的事情有什么想法?

3 个答案:

答案 0 :(得分:1)

如果一起使用,显然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;
}

答案 1 :(得分:0)

你应该只在你的构建设置中启用armv7(而不是armv6),这就是

答案 2 :(得分:0)

通过滚动视图添加UIView,通过UIView添加UIPickerView。