Сделать подпанели в UIScrollView, а остальные подпанелей прокрутки

Я хочу сделать вид с тремя подвидами, уложенными друг на друга, со средним подвидом, прокручиваемым с другими фиксированными.

Как я могу достичь этого программно? Я пробовал

  • установить contentsize корневой вид на площадь прокрутки, но это делает все представления прокрутки.

- установите contentsize среднего подвида без установки какого-либо свойства для корневого представления, но это делает все представления unscrollable.

пожалуйста, помогите. Я новичок в iOS.

спасибо заранее

3 ответов


можно использовать scrollViewDidScroll: делегировать обратный вызов на UIScrollView чтобы настроить положение вашего вида. В обратном вызове получите contentOffset scrollview и используйте это, чтобы установить положение вашего фиксированного вида.

например, если вы хотите, чтобы ваш фиксированный вид всегда оставался 100 px от верхней части scrollview, установите его начальный кадр в (0, 100, width, height), а затем в обратном вызове установите кадр в (0, contentOffset.y + 100, ширина, высота).

результатом является то, что subview появится фиксированный на заданной высоте.


Если ваш UIScrollView имеет superview (т. е. представление контейнера), вы можете добавить свой "фиксированный" вид в качестве подвида superview вместо UIScrollView. Вам нужно будет вычислить координаты кадра только один раз.


вы можете сделать это перемещение sub view из UIScrollView в super view scrollview, например:

место/установить кнопку прокрутки (не в прокрутке), как показано на этом снимке. А также установить ограничения кнопки (положение) по отношению к super view вашего scrollview.

enter image description here

вот ссылка. снимок иерархии положения каждого вида друг над другом.

enter image description here