2015-05-15 4 views
0

Я создаю UIScrollView как говорят (320, 320), при источнике (0, 400). Предполагая, что я сейчас разрабатываю iPhone 5S, с высотой 568pts.UIScrollView «вне рамки» сенсорные области не отвечают

Это означает, что нижняя часть моего scrollView не отображается в ViewControllerview как слишком высокая.

Позже я переложить всю свою ViewControllerview.frame вверх по ~ 152pts, что позволяет нам полностью раскрыть Scrollview и его ранее скрытую высоту.

Проблема: Несмотря на то, что scrollView теперь полностью доступен для просмотра, часть, которая была скрыта, не реагирует на касание. Однако верхняя половина, которая всегда была видна, функционирует нормально.

Любые идеи о том, что происходит и как это исправить? Спасибо

ответ

1

Согласно предоставленной информации, вы перемещаете весь view.frame на 152 пункта вверх, но размер представления остается тем же. Вы также должны увеличить его высоту на 152 очка.

Это происходит потому, что часть скрытого объекта scrollView все еще выведена за пределы рамки view.frame.

Если ваш кадр имеет высоту по умолчанию 568, ваш scrollView будет рисоваться от y 400 до y 720. Это означает, что часть спрятана ровно 152, как вы сказали. Проблема в том, что вы перемещаете родительский элемент scrollView на 152, но view.frame будет по-прежнему иметь высоту 568, а scrollView все равно будет рисоваться в позиции 400 (по отношению к view.frame), до 720 , который по-прежнему равен 152 точкам за пределами view.frame.

Если этот viewController не является childViewController любого другого контроллера viewController, я бы рекомендовал вам просто переместить сам scrollView, чтобы избежать таких проблем.

Смежные вопросы