我正在调试一个问题,点按状态栏会不将UITableView
滚动到顶部。我检查了scrollsToTop
并且它被设置为是,所以很自然地我开始寻找是否有任何UIViews在它之上。
罪魁祸首是我引进的UIView,其大小与UIViewController
的视图相同。我没想到要检查那里,因为当我记录它时,它说它是零。
同样如此:
但是,当我打电话给removeFromSuperView
时,滚动到UITableView顶部的效果非常好!
的这里:
我进行了三重检查,这是唯一一个位于滚动条顶部的UIView,那么是什么给出了?它说它无论如何都是无效的。我也在使用ARC。我猜我想要nil
,而不是null
。我在想如果我将它设置为nil,它会在ARC下将保留计数设置为0。也许在某处还有一个参考视图?
答案 0 :(得分:0)
将settingsView
设置为nil并不会将其从超级视图中删除。它只是弄清楚你对它的引用。 ARC或没有ARC,超级视图保留settingsView
,因此它仍然覆盖您的状态栏,除非您明确删除它。您可以尝试更改框架,使其不再覆盖状态栏。
我建议你试试SparkInspector(http://www.sparkinspector.com/)。解决这些问题真是太棒了。