gpt4 book ai didi

iOS7 UIRefreshControl 更改 contentInset

转载 作者:技术小花猫 更新时间:2023-10-29 10:32:53 26 4
gpt4 key购买 nike

我的应用程序中有一个 UINavigationControllerUINavigationBar 设置为不透明,所有 ScrollView 都不会在栏下方重叠。

在一个 View 中,我有一个 UITableViewUITableView 的框架在我的 iPhone 5 上是 (0 0; 320 504)。即高度是 568 - 64(导航栏和状态栏的高度) .

UITableViewcontentInset(0, 0, 0, 0)。当 TableView 首次加载时,contentOffset(0, 0)

这很好。工作出色。

我在 TableView 中添加了一个 UIRefreshControl。这工作了几次,但是在进行了几次拉动刷新之后,顶部的内容“卡在”了导航栏下。

发生这种情况时,我检查了 contentInset,它现在是 (-60, 0, 0, 0)

有什么方法可以阻止 UIRefreshControl 更改 contentInset

最佳答案

这可能就是为什么 UIRefreshControl 目前只在 UITableViewController 上受支持,而不是通过添加到任何 ScrollView (在许多情况下你可以逃脱) .

刷新控件通过修改 ScrollView 的内容插入来发挥它的魔力——尤其是当它结束刷新时。不幸的是, View Controller 也在修补 ScrollView 的内容插入,以使其适合半透明的导航栏和状态栏。乐趣随之而来。这也是 iOS 6 上的问题吗(或者,我在处理同一问题时称之为“好旧的 iOS6”)。

最快的解决方案可能是将 TableView 添加为子 UITableViewController 而不是简单的 subview 。我认为 UITableViewController 在刷新结束时为您管理插图。如果这不起作用,我有解决方法,但必须等到我回到办公室。

关于iOS7 UIRefreshControl 更改 contentInset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com