顶部/底部位置的UIToolbar外观界面

时间:2014-01-16 16:31:17

标签: ios ios7 uitoolbar uiappearance

我在视图中有两个UIToolbar,在顶部和底部。我试图在iOS版本中一致地应用外观。 iOS5之后有setBackgroundImage: forToolbarPosition:,它命名参数​​topOrBottom。但参数类型UIBarPosition是一个枚举,肯定有两个以上的选项(这是Or建议的IMO),而且仅在iOS7(以及在线Apple doc确认它)之后才声明存在。

观察到的效果是图像仅在iOS7上的每个位置应用。在iOS6上,无论位置参数如何,图像都应用于两个位置。这并不奇怪,因为UIBarPositioningDelegate未在iOS< 7上调用,所以它通过将工具栏框架设置为某些值而无法理解我的意思。但是从iOS5开始存在参数toolbarPosition,所以问题是:我如何在iOS< 7上使用该参数?它应该可以通过UIAppearance使用吗?

1 个答案:

答案 0 :(得分:1)

我也可以在XCode 4.6.3中重现此错误。我相信这可能是一个错误或错误的文档。在Xcode 4.6.3中,这里是UIToolbarPosition的文档,后来更改为UIBarPosition。

UIToolbarPositionAny
Indicates the toolbar may be in any position.
Available in iOS 5.0 and later.
Declared in UIToolbar.h.

UIToolbarPositionBottom
Indicates the toolbar is at the **top** of its containing view.
Available in iOS 5.0 and later.
Declared in UIToolbar.h.

UIToolbarPositionTop
Indicates the toolbar is at the **bottom** of its containing view.
Available in iOS 5.0 and later.
Declared in UIToolbar.h.

正如您所看到的,这里的文档似乎也是错误的。因此,我相信我们对UIToolbarPosition和UIBarPosition的含义存在误解(它们可能只涉及不太可能但可能的阴影),或者它是一个错误。海事组织。

编辑:

typedef enum {
   UIToolbarPositionAny = 0,
   UIToolbarPositionBottom = 1,
   UIToolbarPositionTop = 2,
} UIToolbarPosition;