У меня есть три UIView, которые охватывают ширину экрана, и каждый занимает треть экрана по вертикали. Центр UIView содержит форму, которую пользователь заполняет. У меня есть несколько форм, которые мне нужно отключить от центра UIView. Прямо сейчас в раскадровке у меня есть каждый UIViews, расположенный между верхним и нижним UIViews, и я скрываю представления в зависимости от выбора пользователя. Есть ли лучший способ сделать это? Может быть, есть только один просмотр центра и изменение содержимого через XIB? Благодарю.iOS Изменение содержимого UIView во время выполнения
ответ
Если ваши формы достаточно малы, этот подход, вероятно, прекрасен. Достаточно небольшим, я имею в виду, что у них не так много (в идеале любой) бизнес-логики/валидации и т. Д. Внутри них.
Однако, если ваши формы имеют проверку и другие вещи, которые на самом деле не принадлежат к слою представления, вы можете встроить ViewController для каждой формы для обработки логики?
Я бы посмотрел на использование UIPageViewController, чтобы содержать их, и встроить segue в свой раскадровки. Io включить контроллер страницы в свою раскадровку.
Это довольно много работы, поэтому стоит подумать о том, стоит ли этого усилия. Преимущества - модульность и тестируемость - у вас не будет одного контроллера вида с все ваш код в :) Вы также можете воспользоваться оптимизацией памяти, которую UIPageViewController сделает для вас. И он будет обрабатывать переходы между формами, хотя я не знаю, будут ли они переходы, которые вы хотите :)
Недостатком является архитектурная сложность.
- 1. Изменение рамы UIView во время выполнения
- 2. Изменение содержимого JComboBox во время выполнения
- 3. Android - изменение содержимого контента во время выполнения
- 4. IOS Просмотров Размеры Изменение во время выполнения
- 5. iOS: изменение дизайна во время выполнения
- 6. Изменение iOS Localizable.strings во время выполнения
- 7. Изменение LSApplicationQueriesSchemes во время выполнения
- 8. Изменение Autolayout-ограниченный кадр UIView во время выполнения в Swift
- 9. Изменение размера UIView на iPhone во время выполнения
- 10. Изменение ограничений во время выполнения в swift
- 11. iOS: как назначить фон приложения UIView во время выполнения
- 12. Изменение подвид во время выполнения в прошивкой
- 13. Изменение содержимого кнопки во время выполнения в wpf
- 14. Изменение темы во время выполнения
- 15. Изменение Hashcode во время выполнения
- 16. Изменение appconfig во время выполнения
- 17. Изменение шрифта во время выполнения
- 18. изменение TOPMOST во время выполнения
- 19. Изменение анимации во время выполнения
- 20. Изменение MergedDictionaries во время выполнения
- 21. Изменение шрифта во время выполнения
- 22. Изменение ресурсов во время выполнения
- 23. Изменение переменной во время выполнения
- 24. Изменение app.config во время выполнения
- 25. Изменение адаптера во время выполнения
- 26. Изменение persistence.xml во время выполнения
- 27. Изменение автоопределения во время выполнения
- 28. Изменение DataTemplates во время выполнения
- 29. Изменение кода во время выполнения
- 30. Изменение AllowsTransparency во время выполнения
UIViewController обрабатывает все операции, включая проверки. Я не думаю, что UIPageViewController будет работать, потому что они хотят, чтобы три вида были видны на экране, возможно, с небольшой прокруткой. Раскадровка просто становится большой, и очень много работы, чтобы добавить новый раздел. –
А, простите, я думал, что только один будет виден, и вы переключаетесь между ними. Вы правы, UIPageViewController вам совсем не поможет! В этом случае вы все равно можете использовать UIViewController для каждой формы и просто добавлять представления вручную вручную в режим прокрутки с помощью 'paging = YES'? – deanWombourne
Хотел бы я пойти по этому маршруту. Было бы проще. Благодарю. –