出现键盘时,UITableView 的部分页脚正在移动

Posted

技术标签:

【中文标题】出现键盘时,UITableView 的部分页脚正在移动【英文标题】:Section footer of UITableView is moving when keyboard is appearing 【发布时间】:2016-01-08 11:52:26 【问题描述】:

我有一个 UITableView,里面有不同的部分。每个部分都有自己的页脚(出于设计原因,只是一条灰线)。单击部分中的表格视图单元格时,会出现一个 AlertView 和键盘(输入密码)。但是当键盘出现时,该部分的页脚被键盘向上推。你可以在灰色背景的 AlertView 后面看到它。看起来非常难看。

我怎样才能避免这种情况?背景中的页脚应该保持在原来的位置(在该部分的底部)。有什么想法吗?

【问题讨论】:

【参考方案1】:

有一个对我有用的解决方法,在textFieldShouldBeginEditing 时设置tableView.sectionFooterHeight = 0

func textFieldShouldBeginEditing(textField: UITextField) -> Bool 
    tableView.beginUpdates()
    tableView.sectionFooterHeight = 0
    tableView.endUpdates()
    return true


func textFieldShouldEndEditing(textField: UITextField) -> Bool 
    tableView.beginUpdates()
    tableView.sectionFooterHeight = 100
    tableView.endUpdates()
    return true

确保在viewDidLoad() 中使用tableView.sectionFooterHeight = 100 设置footerView 高度,而不是使用 func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat

【讨论】:

以上是关于出现键盘时,UITableView 的部分页脚正在移动的主要内容,如果未能解决你的问题,请参考以下文章

显示键盘时,表格页脚视图中的 UIButton 不响应触摸

表格页脚视图中的UIButton在键盘显示时没有响应触摸

在 UITableView 页脚或页眉中添加 UIButton

UITableView:最后一部分页脚中的元素数[重复]

UITableView 自定义部分页脚

调整 uitableview 部分页脚的高度