【发布时间】:2015-02-14 22:30:53
【问题描述】:
在我的应用程序中,我在顶部使用了一个工具栏,因为它可以更好地为我的需要布置条形按钮项,并且我将工具栏委托设置给视图控制器并告诉它在顶部附加。我还有一个隐藏状态栏的设置,所以发生的问题是当状态栏设置为隐藏,并且应用程序关闭然后重新打开时,调用 positionForBar 但由于没有状态栏,它对工具栏没有任何作用,所以当我在应用程序上重新打开状态栏时看起来很奇怪,工具栏向下 20px,状态栏正在显示但状态栏没有背景,所以它看起来很奇怪。 positionForBar 仍然被调用,但由于某种原因,我需要再次关闭应用程序,然后工具栏将再次绘制在状态栏后面。我发现如果我从超级视图中删除工具栏并重新添加它,它将在状态栏后面绘制,或者我可以删除 positionForBar 并让我自己的视图成为状态栏的背景,我的老问题是这个解决方案是它不会是透明的(我可能会在那里放一个 20px 的工具栏?),我删除它并重新添加视图的问题是我需要移动大量代码,因为删除它并重新添加它会使约束混乱,因此我需要完全重建整个视图,以便它在状态栏后面重绘。有没有办法只刷新视图或什么?我已经尝试过 setNeedsLayout 和 setNeedsDisplay 并且除了删除和重新添加之外,没有任何东西可以重绘
【问题讨论】:
标签: ios objective-c iphone statusbar uitoolbar