2012-04-23 63 views
0

我注意到我的应用程序出现了一个奇怪的问题,它只发生在iPhone 3G和iPhone 3GS上。我正在创建一个包含两页的滚动视图。在滚动的第二页上,当您尝试滚动选取器时,它非常无响应。看起来我的应用程序不能区分选择器的滚动和滚动视图的滚动,因为有时你向上滚动并且它向左移动。iPhone ScrollView和Picker Issue

请记住,这对iPhone 4和iPhone 4S很好。

有没有人遇到过这个问题之前或任何想法是什么实际上发生?

回答

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; 
} 
0

您应该只允许在构建设置的ARMv7(不ARMv6的),这是所有

+1

iPhone 3GS是armv7 – Vikings 2012-04-23 15:27:01

+0

这是大家都知道的。一旦我的应用程序不在3G上工作。在添加armv6后它是兼容的...对不起,我不能再帮你 – BarryK88 2012-04-23 15:37:34

+1

iPhone 3G是amrv6这就是为什么 – Vikings 2012-04-23 15:38:38

0

添加一个UIView在滚动视图,在UIView的添加UIPickerView。

+0

我添加一个视图与选择器滚动视图,这是行不通的,只是在3G/3GS – Vikings 2012-04-23 15:34:17