Как получить состояние нескольких позиций для представлений viewcontroller?
Проблема, которую я пытаюсь решить, заключается в следующем: у меня естьDetailViewController
который отображает данные для моей модели сUIImageView
«S,UITextFields
и т. д.
Если пользователь нажимает кнопку, теDetailViewController
Виды перемещаются в разные позиции и начинают редактироваться. Когда редактируемый, если пользователь касается одного изUITextField
(только один из них особенный)UITextField
перемещается в верхнюю часть экрана иUITableView
кажется, чтобы автозаполнить его (так же, как когда вы печатаете что-то в Google)
Пользователь также может нажать ту же кнопку, чтобы вернуться в состояние отображения (где ничего нельзя редактировать).
Так что в основном у меня есть некоторые взгляды вViewController
с 3-мя возможными состояниями:DisplayState
, EditingState
, EditingWithFocusOnSpecialTextFieldsState
.
Я хотел бы, чтобы все эти состояния позиционирования были описаныNSLayoutConstraints
и, если возможно, просто в раскадровке.
Одна вещь, которую я мог сделать, этоАнимировать до состояния / позиции раскадровки, но это включает в себя написание каждого ограничения для каждого состояния в коде, поэтому я не мог наглядно представить их в раскадровке при разработке (Кроме того, написание ограничений в коде гораздо менее поддерживаемо, чем в раскадровке).
То, что я хотел бы, это что-то вроде создания 3 разных XIB, например, или разных копий моегоDetailViewController
в раскадровке с 3 различными позициями для каждого из подпредставлений, а затем анимировать между ними.
Если это имеет какое-то значение, я всегда использую последнюю версию iOS (сейчас iOS 8) и Swift. Я тоже очень хорошо знаю Objective-C, если вы не хотите отвечать в Swift.