Я был бы очень просто:
Спустя месяц я наконец понял это. Хотя вышеприведенная альтернатива работала хорошо, она меня беспокоила, и мне пришлось наконец разобраться в ней. Оказывается, это была глупая ошибка.
Вот старый код в моем viewDidLoad, где я установил scrollView:
[clefScrollView setContentSize:CGSizeMake(clefScrollView.contentSize.width, clefView.frame.size.height)];
Значение высоты или ширины scrollView не может быть 0! Я думаю, это прошло мимо меня, потому что я предполагал, что размеры ScrollView начинаются с допустимого размера, и мне не хватало того факта, что одно измерение было нулевым!
Это работает:
[clefScrollView setContentSize:CGSizeMake(clefView.frame.size.width, clefView.frame.size.height)];
Надеюсь, это кому-то поможет. Я определенно потратил слишком много времени, пытаясь отладить это.
Да, у меня не было успеха с scrollRectToVisible: animated:
, но setContentOffset: animated:
всегда работает для меня. Из любопытства, почему вы не хотите использовать setContentOffset: animated:
? Кажется, это правильное решение.