我在视图中有两个UIToolbar
,在顶部和底部。我试图在iOS版本中一致地应用外观。 iOS5之后有setBackgroundImage: forToolbarPosition:
,它命名参数topOrBottom
。但参数类型UIBarPosition
是一个枚举,肯定有两个以上的选项(这是Or
建议的IMO),而且仅在iOS7(以及在线Apple doc确认它)之后才声明存在。
观察到的效果是图像仅在iOS7上的每个位置应用。在iOS6上,无论位置参数如何,图像都应用于两个位置。这并不奇怪,因为UIBarPositioningDelegate
未在iOS< 7上调用,所以它通过将工具栏框架设置为某些值而无法理解我的意思。但是从iOS5开始存在参数toolbarPosition
,所以问题是:我如何在iOS< 7上使用该参数?它应该可以通过UIAppearance
使用吗?
答案 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;