2012-02-14 9 views
2

を失敗し、これは正常に動作します:iOSのUIScrollViewのsetScrollEnabledはiOS5をで

[descriptionWebView.scrollView setScrollEnabled:NO]; 

しかし、それはで失敗する5下の任意のiOSに:

[UIWebView scrollView]: unrecognized selector sent to instance 0x791f9e0 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIWebView scrollView]: unrecognized selector sent to instance 0x791f9e0' 

答えて

7

問題はsetScrollEnabled:コールではありません。実際には、UIWebViewscrollViewはiOS 5まで公開されていません(これが他のものでは失敗する)。詳細については、UIWebViewのドキュメントを参照してください。

以前のバージョンのiOSではUIWebViewresort to iterating through the subviewsにはUIScrollViewが見つかりました。

+0

ああ、おかげさまで大丈夫です。ですから、ios5の場合にのみsetScrollEnabledを適用する条件を作成する必要があります。コードのバージョンを確認するにはどうすればよいですか? – Jesse

6

iOSのバージョンを確認する必要がないこの種のテストを行うことができます。

if([descriptionWebView respondsToSelector:@selector(scrollView)]){ 
    [descriptionWebView.scrollView setScrollEnabled:NO]; 
} 
+1

甘い、完璧な作品 – Jesse

関連する問題