ios - UIScrollViewKeyboardDismissModeInteractive 用键盘改变 tableview 高度

标签 ios objective-c uitableview uikit uikeyboard

UIViewController 我已经设置 self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive

这很棒,因为用户可以将键盘从 tableview 向下拖动。

但是,当向下拖动键盘时,tableview 会保持其当前高度。这看起来很奇怪,因为它在键盘和 ScrollView 之间留下了空白。

如何持续跟踪键盘的框架,以便在用户拖动键盘时调整 tableview 的大小?我试过使用 UIKeyboardWillChangeFrameNotification 但似乎只有在用户完成拖动后才会被调用。

最佳答案

您的表格 View 不应更改其高度以适应键盘。

相反,键盘应该显示在表格 View 之上,您应该调整表格 View 的 contentInsetscrollIndicatorInsets 属性,以便下方的表格内容不会被键盘遮挡。每当出现或关闭键盘时,您都需要更新滚动插图。

当键盘以交互方式关闭时,您无需执行任何特殊操作,因为随着键盘移出 View ,表格内容应该已经向下滚动。

关于ios - UIScrollViewKeyboardDismissModeInteractive 用键盘改变 tableview 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556264/

相关文章:

iphone - 不同颜色的UISlider

ios - 如何通过截图分享到Facebook和Twitter(社交框架)?

iphone - 从 appdlication 中的缓存目录加载图像在 App 委托(delegate)中完成方法

ios - swift 3 : UILabel not showing in custom UITableViewCell

ios - 指定NSLayoutConstraint的UILayoutPriority好像没有生效

ios - 从 InterfaceBuilder 和通过代码设置时获得不同的颜色

iOS 从年中的某一天获取日期

objective-c - 是否可以在 Objective-C 中将方法作为参数传递?

ios - 将 NS_OPTIONS 存储在 swift 字典中

ios - 有什么可行的方法可以使用 UIWebView/WKWebView 在 UITableViewCell 中加载动态内容?