【发布时间】:2016-02-25 05:22:14
【问题描述】:
我正在尝试为带有单个标签的 UIToolbar 加载一个简单的自定义 xib,只是为了让事情正常工作,而我的 init?(coder aDecoder: NSCoder) 方法在尝试修改标签的文本时失败,因为它尚未实例化。
致命错误:在展开可选值时意外发现 nil
我在这里使用 UIView 代替 UIToolbar,因为它更易于使用,这可能是问题所在。如果我在我的 xib 文档中使用 UIToolbar,它会强制我放置在 UIToolbar 上的所有内容都成为 UIBarButtonItem,而不幸的尺寸效应是这会产生不希望的填充。请注意在此处将 UIViews 添加到图像中的 UIToolbar 时可以看到的红色条色调(看看红色有多难看!????):
我相信我已经在 Xcode 的 Inspector 面板中设置了所有必要的设置和 IBOutlets。并具有简单的居中 x,y 布局约束。
更新 1:
如果我将 UIView 添加到 UIToolbar,我将遇到 UIToolbar > UIBarButtonItem > UIView 的视图层次结构。选择 UIView 并读取 Xcode 右侧面板上的 Size Inspector,您将看到类似于以下内容:
这具有一组不可用的点(UIView 左侧 16 点和顶部 6 点)的不幸副作用。尽管 UIView 足够大,顶部的 6 个点可以重新获得,但左侧的 16 个点不能。再次注意顶部图像中的红色边距。
更新 2:
任何 16 点的 UIView 偏移现在都可以使用下面我的新解决方案进行修复。
【问题讨论】: