UITableView ContentInset 和 ContentOffset
Posted
技术标签:
【中文标题】UITableView ContentInset 和 ContentOffset【英文标题】:UITableView ContentInset and ContentOffset 【发布时间】:2019-01-17 11:50:27 【问题描述】:我在使用 contentInset
属性时遇到问题。我有一个UITableView
,具有动态单元格大小(自动布局)。我正在设置contentInset
属性以在内容顶部上方留出一些空间。但我得到以下结果:
内容为蓝色,内容插图为紫色。当表格视图第一次出现时,它处于左侧的情况。我可以滚动到正确的情况,这是有效的,但我希望表格视图直接出现在右图中——我认为这是默认行为。
我怎样才能做到这一点?
【问题讨论】:
这有帮助吗? ***.com/questions/22020943/… @RakeshaShastri 我已经看到并尝试过,但没有成功 【参考方案1】:不确定这是否是最好的方法,但我通过添加来修复它:
tableView.contentOffset.y = -70
行后:
tableView.contentInset = UIEdgeInsets(top: 70, left: 0, bottom: 50, right: 0)
【讨论】:
【参考方案2】:您可以在视图加载时以编程方式滚动。
tableView.setContentOffset(CGPoint(x: 0, y: -70), animated: false)
【讨论】:
这就是我最终做的,虽然不是很漂亮。我认为滚动视图会自动调整,以便直接滚动到“顶部”【参考方案3】:这是可以从情节提要中轻松修复的方法:
表格视图 > 大小检查器 > 内容插入:从不
【讨论】:
我没有使用 Storyboard,但我尝试使用 scrollView.contentInsetAdjustmentBehavior,但没有帮助【参考方案4】:你提供一个 UIEdgeInset 对象,
UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
top 属性显示从内容顶部到区域顶部边框的距离。
【讨论】:
是的,这就是我正在做的事情以上是关于UITableView ContentInset 和 ContentOffset的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 在 contentInset 之后不滚动
UITableView 调整 contentinset 直到第一次滚动
iOS 7 中 UITableView 的 contentInset 规则?
通过 contentInset 属性添加边距在 iPad 上居中 UITableView?