0

scrollView.bounces 在 iOS 5 上正常工作,但在 iOS 4 上执行时,会显示 sigabrt 错误。如何设置它适用于两个操作系统?谢谢

- (void)viewDidLoad
{  
    [super viewDidLoad];

    [spinner startAnimating];
    [self.webView1 setDelegate:self];

    self.webView1.scrollView.bounces = NO;
    self.webViewB.scrollView.bounces = NO;

    [self loadIt];

}
4

2 回答 2

1

可能是因为 iOS 4 中的 Web 视图没有 scrollView 属性——我认为它是在 iOS 5 中出现的 :)

看看Stop UIWebView 从“垂直弹跳”的答案?要解决这个问题。

于 2012-05-29T11:35:04.980 回答
0

您的问题不是设置bounces属性,scrollView而是尝试访问和对象的scrollView属性。在 iOS 5.0 之前,这个属性是不公开的,所以你不能像那样访问它。webView1webViewB

您将不得不遍历 and 的所有 suviewwebView1webViewB找到属于 and 的那个,UIScrollView而不是设置它的bouncing属性。你可以这样做:

if ([self.webView1 respondsToSelector:@selector(scrollView)]) {
    self.webView1.scrollView.bounces = NO;
    self.webViewB.scrollView.bounces = NO;
}
else {
    for (UIView *subview in self.webView1.subviews) {
        if ([subview isKindOfClass:[UIScrollView class]]) {
            UIScrollView *scrollView = (UIScrollView *)subview;
            scrollView.bounces = NO;
        }
    }

    for (UIView *subview in self.webViewB.subviews) {
        if ([subview isKindOfClass:[UIScrollView class]]) {
            UIScrollView *scrollView = (UIScrollView *)subview;
            scrollView.bounces = NO;
        }
    }
}

让我知道这是否适合你。

于 2012-05-29T11:40:08.233 回答