Пользовательский UIView с меньшими границами, чем кадр - PullRequest
2 голосов
/ 01 апреля 2011

Можно ли создать пользовательский вид (загруженный из пера) с границами, меньшими, чем размер рамки.Поэтому я хотел бы показать часть кадра / вида.При нажатии кнопки я хочу сдвинуть границы вправо, чтобы увидеть весь кадр.Можно ли это сделать?

Ответы [ 4 ]

0 голосов
/ 01 апреля 2011

Границы представления представляют ограничивающий прямоугольник в собственной системе координат представления.Рамка является ограничительным прямоугольником в системе координат суперпредставления.Изменяя преобразование представления, вы можете легко создать прямоугольник границ с origin = {0, 0} и размером = {1, 1}, даже если рамка представления была origin = {0, 0}, size = {320, 480}.Это представление может охватывать весь экран, но границы по-прежнему составляют всего 1 единицу на 1 единицу.

Я вижу, что вы пытаетесь сделать, и это на самом деле отличается от границ!Вы говорите о том, чтобы иметь представление содержимого, которое только частично видно через вмещающее представление.Это именно то, что UIScrollView делает для вас.

0 голосов
/ 01 апреля 2011

Я думаю, что рамка и границы напрямую связаны с основным слоем вида ... но вы можете добавить подслой и переместить его.

0 голосов
/ 01 апреля 2011
  • Сделать класс подпредставлением UIView.
  • Поместите содержимое, которое вы хотите отобразить, в другое представление и прикрепите его с помощью -addSubview.
  • Убедитесь, что для подпредставления установлен UIAutoresizingNone (или вы установили self.autoresizesSubviews = NO) и границы, которые соответствуют его фактическому размеру.
  • Set self.clipsToBounds = YES.
  • Обновите происхождение кадра подпредставления, чтобы отрегулировать, какая часть подпредставления видима в вид спереди, или увеличьте границы основного вида, чтобы показать больше обрезанного подпредставления.
0 голосов
/ 01 апреля 2011

Это определенно может, в значительной степени, как работает Sliding Views под капотом.

...