iOS UIScrollView setScrollEnabled завершается ошибкой - PullRequest
2 голосов
/ 14 февраля 2012

В iOS5 это работает нормально:

[descriptionWebView.scrollView setScrollEnabled:NO];

Но в любой iOS до 5 он не работает с:

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

Ответы [ 2 ]

7 голосов
/ 14 февраля 2012

Проблема не в вызове setScrollEnabled:. Это на самом деле, что scrollView из UIWebView не было выставлено до iOS 5 (именно поэтому он терпит неудачу ни на чем другом). Для получения дополнительной информации см. Документацию UIWebView.

В предыдущих версиях iOS вам приходилось прибегать к переборам подпредставлений вашего UIWebView, чтобы найти UIScrollView.

6 голосов
/ 14 февраля 2012

Вы можете выполнить этот вид теста, который не требует проверки, какая это версия iOS.

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