gpt4 book ai didi

ios - iOS 版本之间的 UIToolbar 疯狂

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:48 28 4
gpt4 key购买 nike

所以...我的问题有点奇怪。我有一个简单的 UIToolbar 被添加到在 viewDidLoad 时间调用的 navigationController 的 View 层次结构中。听起来很简单,对吧?那么问题来了:工具栏本身是透明的,但按钮在任何低于 iOS 5 的版本中都没有。

我整晚都在尝试重新排列和重新排序 setFrame、setTranslucent 和 setStyle 的调用,但没有任何效果,它只是一片空白!

所以我脑子放了一个屁:如果我做了一个新项目,然后做了完全相同的 UIToolbar 怎么办?好吧,它奏效了。完美。所以我又脑子放了一个屁:如果只是我的实例坏了怎么办?所以我在现有项目中新建了一个工具栏,它显示为空白...

这让我相信我的 navigationController 的 View 层次结构已损坏,但我不知道以何种方式损坏......有谁知道如何解决我的难题(这是模拟器的东西,还是 iOS 4.3.2 的东西?)?

CODE(适用于 iOS 5+,(尽管已弃用但很有趣),在其他项目中,只是不是我的):

toolbar = [[[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height - 22, self.view.bounds.size.width, 44)]autorelease]; 
[toolbar setBarStyle:UIBarStyleBlackTranslucent];
toolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;
[self.view addSubview:toolbar];

以下是来自 iOS 4.3.2 模拟器(顶部)和 iOS 5.0.1 模拟器(底部)的图片: iOS 4.3.2 Simulator iOS 5.0.1 Simulator

编辑:根据 Rob 的建议,我已将代码更改为 self.view addSubview... 但没有任何变化。至于他为什么不使用 navigationController 的内置工具栏的问题,这是因为我实际上有两个工具栏,它们通过图像中的操作按钮上下移动。

编辑 2:为清楚起见,请观察屏幕截图。为什么它是隐形的!!!??我有动画和 View 层次结构。如果有人需要查看 viewDidLoad 方法,它相当庞大且繁琐...

最佳答案

你不应该弄乱 UINavigationController 的 View 树。您应该只弄乱您提供的 View 树部分。

如果您使用的是 UINavigationController,为什么不直接使用导航 Controller 为您提供的工具栏呢?

UINavigationController Class Reference: Displaying a Toolbar
UINavigationController Class Reference: Configuring Custom Toolbars
UIViewController Class Reference: setToolbarItems:animated:

关于ios - iOS 版本之间的 UIToolbar 疯狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9043208/

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