为什么两个不同的UIToolbars,默认为不同的样式?

时间:2012-03-20 20:22:14

标签: ios xcode cocoa-touch interface-builder uitoolbar

考虑我的同一个项目中的以下两个工具栏:

enter image description here enter image description here

请注意,这些工具栏看起来有所不同?问题是它们都是通过将它们拖放到IB中而创建的,并且我没有更改任何相关的属性。我所做的一切都是添加flex控制器,并更改初始UIButtonBarItem上的文本。除此之外,这些工具栏尚未修改,而且,我已经在属性检查器中验证了它们的属性完全相同。

他们是如何或为何有所不同?此外,如果可用的UIToolbarBlack Opaque样式看起来与灰色样式完全不同,我怎样才能使第一个蓝色Black Translucent看起来像灰色?{/ p>

我错过了什么吗?从那以后,这就没有了。

1 个答案:

答案 0 :(得分:0)

我发现为什么会这样,但我对如何改变它有点无能为力。有关此问题的修复方法,请参阅this, new question

由于创建Xib时指定的内部Xib设置,这些工具栏会发生更改。在第一个示例中,当我创建UIViewController时,我必须取消选中 Target for iPad 复选框,即使这是针对iPad项目的。

When the Targe for iPad option is not checked, Toolbars (and presumedly other UIView objects) will be styled differently.

这改变了Nib中初始UIView的默认大小。我总是切断状态栏并在我在Xib文件中创建UIView时将视图设置为自由形式,因此我无法通过查看我的视图来判断它们是否针对iPad。

当我创建第二个UIViewController对象时,我检查了 Targeted for iPad 选项。现在,我的工具栏采用灰色调设计。

所吸取的教训是显而易见的 - 如果您希望从IB工具箱中提取对象的默认样式的一致性,请务必创建专门针对iOS设备的UIViewControllers。如果您犯了同样的错误,请按照上面的链接问题,了解如何将UIViewController和Xib文件还原为其他样式的View Controller。