iOS:Table 视图,允许滚动 "further down" 结束
iOS: Table view, allow scrolling "further down" than the end
抱歉,这个问题听起来有点混乱。我有两个按钮与底部的 table 视图重叠,因此如果 table 视图滚动 "normal" 最后一行会被这些按钮部分隐藏。这就是为什么我想允许滚动 table 就像一行的高度一样向下滚动,所以最后一行在这两个按钮的顶部。我怎样才能做到这一点?
调整 table 视图的内容插图。
例如,如果您的按钮高度为 50 点并且 table 的框架是完整的 window,您可以将 table 设置为对齐到顶部你的按钮是这样的:
tableView.contentInset = UIEdgeInsetsMake(0, 0, 50, 0);
注意:在 iOS 中,7+ 视图控制器有一个 属性 automaticallyAdjustsScrollViewInsets
默认设置为 YES
。当此 属性 设置为 YES
时,您手动设置的 contentInsets 可能会被覆盖。假设您有某种想要在其下滚动的导航栏,您可以将顶部边缘插入设置为 topLayoutGuide 的长度。
您的最终解决方案(将其放入 viewDidLoad):
self.automaticallyAdjustsScrollViewInsets = NO;
tableView.contentInset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 50, 0);
这将使内容向上移动。
如果您希望它们向下移动,您可以相应地更改插图。
func shiftScrollingUp() {
yourScrollView.contentInsetAdjustmentBehavior = .never
yourScrollView.contentInset = UIEdgeInsetsMake(0, 0, 150, 0)
}
AutomaticallyAdjustsScrollViewInsets
is deprecated in ios 11.
正如其他人所指出的,弃用使得这个解决方案变得不可能,如果我们使用节页脚,它会一直显示在插图中。一个更简单的解决方案是添加一个 tableFooterView 以允许底部单元格滚动经过按钮。像这样:
let bottomView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 83))
bottomView.backgroundColor = .clear
tableView.tableFooterView = bottomView
抱歉,这个问题听起来有点混乱。我有两个按钮与底部的 table 视图重叠,因此如果 table 视图滚动 "normal" 最后一行会被这些按钮部分隐藏。这就是为什么我想允许滚动 table 就像一行的高度一样向下滚动,所以最后一行在这两个按钮的顶部。我怎样才能做到这一点?
调整 table 视图的内容插图。
例如,如果您的按钮高度为 50 点并且 table 的框架是完整的 window,您可以将 table 设置为对齐到顶部你的按钮是这样的:
tableView.contentInset = UIEdgeInsetsMake(0, 0, 50, 0);
注意:在 iOS 中,7+ 视图控制器有一个 属性 automaticallyAdjustsScrollViewInsets
默认设置为 YES
。当此 属性 设置为 YES
时,您手动设置的 contentInsets 可能会被覆盖。假设您有某种想要在其下滚动的导航栏,您可以将顶部边缘插入设置为 topLayoutGuide 的长度。
您的最终解决方案(将其放入 viewDidLoad):
self.automaticallyAdjustsScrollViewInsets = NO;
tableView.contentInset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 50, 0);
这将使内容向上移动。
如果您希望它们向下移动,您可以相应地更改插图。
func shiftScrollingUp() {
yourScrollView.contentInsetAdjustmentBehavior = .never
yourScrollView.contentInset = UIEdgeInsetsMake(0, 0, 150, 0)
}
AutomaticallyAdjustsScrollViewInsets
is deprecated in ios 11.
正如其他人所指出的,弃用使得这个解决方案变得不可能,如果我们使用节页脚,它会一直显示在插图中。一个更简单的解决方案是添加一个 tableFooterView 以允许底部单元格滚动经过按钮。像这样:
let bottomView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 83))
bottomView.backgroundColor = .clear
tableView.tableFooterView = bottomView