使用 UITableViewController 使视图保持底部
Posted
技术标签:
【中文标题】使用 UITableViewController 使视图保持底部【英文标题】:Make a View stick to bottom with UITableViewController 【发布时间】:2017-07-04 12:29:02 【问题描述】:我想在我的UITableView
滚动时在底部制作一个UIView
。
我的想法是设置一个UIView
,其位置位于导航项的正上方。将 zPosition
设置为 1
。
问题是,我的UITableView
的yPosition
不同。
知道如何解决这个问题吗?
编辑:
提供可见行为与预期行为的屏幕截图:
可见:
这是我滚动的时候:
预期:
如上表中的 Tinder 相机符号所示:
编辑2:
这段代码是我用来将矩形放在底部的。
在我滑动 UITableView
之前它一直有效 - 矩形也会向上滚动。
let bounds = self.view.bounds
let yPosition = self.navigationController?.toolbar.frame.minY
print(yPosition)
let myView = UIView(frame: CGRect(x: 0, y: yPosition! - bounds.height/6, width: bounds.width, height: bounds.height/6))
myView.backgroundColor = myColor.rookie
myView.alpha = 0.8
myView.layer.zPosition = 1
myView.isUserInteractionEnabled = true
self.view.addSubview(myView)
【问题讨论】:
为什么不用tablefooterview? 是否必须是UITableViewController而不是UIViewController? 预期与观察的屏幕截图将是一个加分项。 @Venkat 页脚视图始终位于 tableview 的底部,但它超出了视图。它需要始终可见 @JVS - 好的......看看这篇文章 - 它讨论了几种做你想做的事情的方法。 ***.com/questions/14689805/… 【参考方案1】:有一个解决方案。您可以通过禁用相应按钮的 Auto Layout(button.translatesAutoresizingMaskIntoConstraints = false) 属性或浮动按钮的任何 UIView 来做到这一点:
斯威夫特 4
button.translatesAutoresizingMaskIntoConstraints = false
if #available(ios 11.0, *)
button.rightAnchor.constraint(equalTo: tableView.safeAreaLayoutGuide.rightAnchor, constant: -10).isActive = true
button.bottomAnchor.constraint(equalTo: tableView.safeAreaLayoutGuide.bottomAnchor, constant: -10).isActive = true
else
button.rightAnchor.constraint(equalTo: tableView.layoutMarginsGuide.rightAnchor, constant: 0).isActive = true
button.bottomAnchor.constraint(equalTo: tableView.layoutMarginsGuide.bottomAnchor, constant: -10).isActive = true
【讨论】:
以上是关于使用 UITableViewController 使视图保持底部的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能使用“List”作为 UITableViewController 子类的类名?
在 UITableViewController 上使用 UIViewController 类