У меня есть страница в приложении iOS, изложенная на следующей диаграмме, которая выглядит следующим образом.iOS программно изменяет макет uiview
- Темно-серый ящик = Navbar
- Светло-серый квадрат = UIView (для презентации, с некоторыми хорошо DropShadow и т.д.)
- Черная граница = UIView (опять же, с хорошей тени, разные цвета фона и т.д.)
- 2 текстовые поля
- Pink box = другой вид для отображения после события.
В настоящее время я выложив все с initWithFrame, и явно устанавливая рамки каждого элемента, который я знаю, это, вероятно, не велика (я новичок в разработке Иос, пожалуйста, указать меня в правильном направлении).
То, что я пытаюсь добиться, заключается в том, что, когда какой-то текст вводится во второе текстовое поле, открывается розовая рамка, и супервизоры правильно реагируют, а расположение красиво вокруг нового поля.
У меня нет проблем с самим событием, и я мог бы просто изменить рамку каждого UIView по очереди, но я чувствую, что это неправильно, и мне понравились бы некоторые указатели. В конце концов, мне также понравится розовая коробка, чтобы оживить ее, и поэтому содержащиеся в ней взгляды оживляют ее.
Надеюсь, я полностью объяснил себя. Большое спасибо
Вы читаете [Просмотр руководства по программированию для iOS] (http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/CreatingViews/CreatingViews.html)? Новым подходом является «Обработка изменений макета автоматически с помощью авторезистирующих правил», а универсальный - «Настройка макета ваших представлений вручную». –
вы должны реализовать layoutSubviews в вашем подклассе UIView и установить рамки представления – Felix
Спасибо @ A-Live, этот документ действительно помог. Я отсортировал его с помощью autoresizesSubviews = YES! – Leon