【问题标题】:UITableView ContentInset and ContentOffsetUITableView ContentInset 和 ContentOffset
【发布时间】:2019-01-17 11:50:27
【问题描述】:

我在使用 contentInset 属性时遇到问题。我有一个UITableView,具有动态单元格大小(自动布局)。我正在设置contentInset 属性以在内容顶部上方留出一些空间。但我得到以下结果:

内容为蓝色,内容插图为紫色。当表格视图第一次出现时,它处于左侧的情况。我可以滚动到正确的情况,这是有效的,但我希望表格视图直接出现在右图中——我认为这是默认行为。

我怎样才能做到这一点?

【问题讨论】:

标签: swift uitableview uiscrollview contentoffset


【解决方案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 属性显示从内容顶部到区域顶部边框的距离。

    【讨论】:

    • 是的,这就是我正在做的事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多