Я использовал UIScrollView
прежде, и использую его теперь и никогда не имел проблему. Я теперь добавляю его к старому приложению, и в то время как это работает как ожидалось (я могу посмотреть на содержание, прокрутить вокруг с моим пальцем, все границы и размеры являются правом установки, таким образом, нет никакого вакуума в содержании, и т.д.), я просто не могу добраться scrollToRectVisible
работать. Я даже упростил вызов так, чтобы он просто переместился в 0,0 положения:
[scrollView scrollRectToVisible:CGRectMake(0, 0, 10, 10) animated:YES];
или переместите его в 0,200:
[scrollView scrollRectToVisible:CGRectMake(0, 200, 10, 10) animated:YES];
Я даже сделал быстрое приложение для тестирования этого, и я могу добраться scrollRectToVisible
работать там, как я ожидаю. Но в моем старом приложении, я, может казаться, не заставляю его сделать что-либо.
Я могу сделать прокрутку scrollView с setContentOffset:
, но это не то, что я хочу.
Этот scrollView и его содержание определяются в пере IB и используются с IBOutlet. Единственный код, который я использую в своем приложении для обработки scrollView,
[scrollView setContentSize:CGSizeMake(scrollView.contentSize.width, imageView.frame.size.height)];
(Я только интересуюсь вертикальной прокруткой, не горизонтальной).
Кто-либо столкнулся с проблемой как это?
Я сравнил атрибуты scrollView в обоих приложениях, и они идентичны.
ПРИЛОЖЕНИЕ:
Мой кадр scrollViews: 0.000000 0.000000 480.000000 179.000000
Мой scrollViews contentSize: 0.000000 324.000000
Это все еще действует как реагирование, я хочу прокрутить к, уже видимо, и никакая прокрутка не необходима. Не уверенный, если, именно это происходит. Это - просто darnest вещь. Походит на такую легкую вещь решить...
ПРИЛОЖЕНИЕ № 2:
Это - то, как я умею обойтись без scrollRectToVisible
:
CGPoint point = myRect.origin;
if (![clefScrollView pointInside:point withEvent:nil]) {
point.x = 0;
if (point.y > clefScrollView.contentSize.height - clefScrollView.bounds.size.height)
point.y = clefScrollView.contentSize.height - clefScrollView.bounds.size.height;
[clefScrollView setContentOffset:point animated: YES];
}
Все остальное об этом scrollView работает как ожидалось, но scrollRectToVisible
. ПОЧЕМУ?!? Какие-либо произвольные предположения?
Для меня проблема состояла в том, что ограничение в подпредставлении не было явным. Проверьте, что каждое ограничение в Вашем содержании установлено, даже если Вам не нужно оно, по-видимому, для расположения.