将 UIToolbar 添加到窗口
我有一个基于导航的应用程序,我正在尝试添加一个独特的 UIToolbar,无论当前视图是哪个,该工具栏都将保持不变,使用以下命令:
UIToolbar 中的持久 UIBarButtonItem?
问题是当我为 navigationController 设置框架时,navigationController 内的 UITableView 在导航栏下移动 20px,就好像它开始在状态栏后面绘制一样。
关于如何解决这个问题有什么想法吗?我被困住了!
I have a navigation based application which I'm trying to add a unique UIToolbar that will be persistent no matter which is the current view, using this:
Persistent UIBarButtonItem in UIToolbar?
The problem is my when I set the frame for the navigationController, the UITableView inside the navigationController shifts 20px under the navigation bar, as if it started drawing behind the status bar.
Any ideas on how I can fix this? I'm stuck!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我最终使用了 navigationController 的内置工具栏。
因此,在每个 viewDidLoad 上,我将当前的toolbarItems 设置为同一个数组:
我没有看到任何转换,如果需要在特殊的 viewController 上,我总是可以将其设置为不同的按钮。
也许这就是它应该做的方式。奥卡姆剃刀,有人知道吗? :)
I ended up using the built-in toolbar of the navigationController.
So on every viewDidLoad I set the current toolbarItems to the same array:
I don't see any transitions and I could always set it to different buttons if I need to on a specialy viewController.
Maybe this is the way it's supposed to be done. Occam's razor, anyone? :)
在向 UIWindow 添加子视图时,我经常遇到这种情况。我尝试了人们的各种建议,但最终只是将框架原点向下移动了 20px 以适应状态栏。
I've had this happen a lot when adding sub views to the UIWindow. I tried all sorts of advice from people but eventually just did shifted the frame origin down 20px to accommodate the status bar.
我创建了一个派生自 UIToolbar 的自定义对象,并添加了一个名为 staticItems 的属性,我在 init 方法中填充了 3 个 UIBarButtonItem (及其逻辑),
我已将“显示工具栏”设置为我的 UINavigationController 对象,并将工具栏的类更改为我的新的。
然后我将导航的父对象设置为导航的委托,并实现这些方法
非常接近您所做的,更易于维护。希望能帮助别人。
I've made a custom object deriving from UIToolbar, and added a property called staticItems that I populate in the init method with 3 UIBarButtonItem (and their logic)
I've set "Show Toolbar" to my UINavigationController object, and changed toolbar's class to my new one.
Then I've set navigation's parent object as navigation's delegate, and implemented these method
Really close to what you've done, a bit more easy to maintain. Hope will help somebody else.