gpt4 book ai didi

ios - 带有自定义 UIToolbar xib 的 Storyboard 中的 UINavigationController 失败

转载 作者:行者123 更新时间:2023-11-28 09:44:55 25 4
gpt4 key购买 nike

我正在尝试为具有单个标签的 UIToolbar 加载一个简单的自定义 xib,只是为了让事情正常进行,并且在我的 init?(coder aDecoder: NSCoder) 方法中尝试修改时失败标签的文本,因为它尚未实例化。

fatal error: unexpectedly found nil while unwrapping an Optional value

我在这里使用 UIView 代替 UIToolbar,因为它更容易使用,而这可能就是问题所在。如果我在我的 xib 文档中使用 UIToolbar,它会强制我放置在 UIToolbar 上的所有内容成为 UIBarButtonItem,而不幸的是,这会产生不需要的填充。注意将 UIView 添加到 UIToolbar 时可以看到的红色条色调(看看红色有多难看!😩):

UIToolbar with red bar tint

我相信我已经在 Xcode 的 Inspector 面板中设置了所有必要的设置和 IBOutlets。并具有简单的居中 x,y 布局约束。

更新 1:

如果我将 UIView 添加到 UIToolbar,我将停留在 UIToolbar > UIBarButtonItem > UIView 的 View 层次结构中。选择 UIView 并阅读 Xcode 右侧面板上的 Size Inspector,您将看到类似于以下内容的内容:

enter image description here

不幸的是,这会产生一组不可用的点(UIView 左侧 16 个,顶部 6 个)的副作用。尽管有足够大的 UIView,顶部的 6 个点可以重新获得,但左侧的 16 个点不能。再次注意顶部图像中的红色边距。

更新 2:

任何 16 点的 UIView 偏移现在都已通过我下面的新解决方案修复。

最佳答案

我发现了你的问题。

你的问题,你用 .XIB 中的 UIView 代替了 UIToolbar

按照以下步骤操作。

1) 您需要从XIB 文件中删除UIView。并添加 UIToolbar 代替 UIVIew。

enter image description here

2) 将身份分配给 XIB CustomToolbar.swift

enter image description here

3) 现在将 IBOutlet 设置为 CustomToolbar.swift

中的 Item

enter image description here

4) 在您的 Viewdidload 中放置下面的代码,

let toolBar = UINib(nibName: "CustomToolbar", bundle: nil).instantiateWithOwner(nil, options: nil).first as! CustomToolbar

self.navigationController!.view.addSubview(toolBar)
self.navigationController!.toolbarItems = toolBar.items

5) 在你所有的viewcontrollers viewdidload中添加

self.toolbarItems = self.navigationController!.toolbarItems

编辑:-您可以在 UIToolbar 中添加 UIView 并根据您的要求添加控件。

enter image description here

希望这些信息对您有所帮助。

关于ios - 带有自定义 UIToolbar xib 的 Storyboard 中的 UINavigationController 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619015/

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