【发布时间】:2015-06-09 17:29:10
【问题描述】:
在我的 UITableViewControllers 中,当屏幕上显示键盘时,我通常会通过 NSLayoutConstraint IBOutlet(例如 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraintTableViewBottomToSuperViewBottom)为 tableView 的底部设置动画。然后如果键盘在屏幕上动画,我将键盘的大小添加到约束中,如果键盘消失,我从约束中删除键盘大小。
像魅力一样工作。
现在,我需要做同样的事情,但使用 UIViewController 而不是 UITableViewController。
我有点困惑。当我使用 UITableViewController 执行此操作时,这很容易。我的 tableView 的高度随着键盘的显示而变小,但我仍然可以通过上下滚动 tableView 轻松查看所有数据。
如果我使用 UIViewController 的主 UIView 执行此操作,当键盘显示在屏幕上时,我会缩短 UIViewController 的主视图的高度,但这会缩小/倾斜该主视图上的所有子视图,从而压缩它们。你如何解决这个问题?
【问题讨论】:
-
最好的办法就是把viewcontroller的view的整个frame移到顶部
-
在 UIViewController 中的 self.view 上使用滚动视图。然后它会工作。
标签: ios objective-c uitableview uiviewcontroller