作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在搜索如何将表格 View 的底部锚定到容器 View 的顶部,容器 View 位于 View 的底部,因此当我按下文本字段时,容器 View 会显示,其中有一个文本字段和一个按钮。但是,当我在容器 View 中写入消息时,如何才能看到表格 View 的底部呢?当带有文本字段和按钮的容器显示时,会自动滚动到表格 View 的底部,这样我就可以看到最后一个单元格。
这是容器 View 的代码:
lazy var inputTextField: UITextField = {
let textField = UITextField()
textField.placeholder = "Enter message..."
textField.translatesAutoresizingMaskIntoConstraints = false
textField.delegate = self
textField.frame.size.width = 150.0
return textField
}()
lazy var sendButton: UIButton = {
let boton = UIButton(type: .System)
boton.setTitle("Delete", forState: .Normal)
boton.translatesAutoresizingMaskIntoConstraints = false
boton.addTarget(self, action: #selector(handleSend), forControlEvents: .TouchUpInside)
return boton
}()
// MARK: container
lazy var inputContainerView: UIView = {
let containerView = UIView()
containerView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 50)
containerView.backgroundColor = UIColor.whiteColor()
containerView.addSubview(self.inputTextField)
containerView.addSubview(self.sendButton)
//I added some constrains to the textfield and the button
return containerView
我还有这个方法:
override var inputAccessoryView: UIView? {
get {
return inputContainerView
}
}
override func canBecomeFirstResponder() -> Bool {
return true
}
那么,我该怎么做呢?
最佳答案
将tableView的contentInset.bottom
属性设置为容器 View 的给定高度,然后:
tableView.layoutIfNeeded()
tableView.setContentOffset(CGPoint(x: 0, y: tableView.contentSize.height-tableView.frame.height+tableView.contentInset.bottom), animated: true)
...强制其滚动到底部。
关于ios - 将表格 View 的底部锚定到容器 View 的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39167577/
我是一名优秀的程序员,十分优秀!