【发布时间】:2015-02-19 09:58:41
【问题描述】:
我要解决的问题是:我有一个 DetailViewController,它显示我的模型的数据,其中包含 UIImageView、UITextFields 等。
如果用户点击一个按钮,DetailViewController 的那些视图将移动到不同的位置并开始可编辑。可编辑时,如果用户点击 UITextField 之一(只有其中一个是特殊的),UITextField 将移动到屏幕顶部,UITableView 似乎会自动完成它(就像您在 google 上键入内容一样)。
用户也可以点击相同的按钮返回显示状态(没有可编辑的内容)。
所以基本上我有一些ViewController 的视图,有 3 种可能的状态:DisplayState、EditingState、EditingWithFocusOnSpecialTextFieldsState。
我想拥有NSLayoutConstraints 描述的所有定位状态,如果可能的话,就在故事板中。
我可以做的一件事是Animate to a storyboard state / position,但这涉及在代码中为每个状态编写每个约束,因此在开发时我无法在情节提要中很好地可视化它们(另外,在代码中编写约束要少得多比在故事板中可维护)。
例如,我想要创建 3 个不同的 XIB,或者我的 DetailViewController 在情节提要中的不同副本,每个子视图具有 3 个不同的位置,然后在它们之间制作动画。
如果有什么不同的话,我总是使用最新的 iOS 版本(现在是 iOS 8)和 Swift。 如果你不想用 Swift 回答,我也非常了解 Objective-C。
【问题讨论】:
标签: ios xcode swift ios8 storyboard