0

我在 UINavigationController 中为 UIBarButtonItem 设置了 UIAppearance,如下所示:

[[UIBarButtonItem appearanceWhenContainedIn: [UINavigationController class],nil] setBackgroundImage:bimg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn: [UINavigationController class],nil] setTitlePositionAdjustment:UIOffsetMake(0, bimg.size.height*2) forBarMetrics:UIBarMetricsDefault];

但它似乎也影响了 UIToolBar 内的 UIBarButtonItems 。我想做的是,我在导航栏中有自定义按钮,但我在键盘上方使用 UIToolbar,我希望这些按钮保持 iOS 风格。

有没有办法恢复 UIAppearance?或者我可以在 UIToolbar 内显式设置 UIBarButtonItem 的 UIAppearance 以使用默认值吗?

4

1 回答 1

1

Use UINavigationBar instead of UINavigationController:

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],nil] setBackgroundImage:bimg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],nil] setTitlePositionAdjustment:UIOffsetMake(0, bimg.size.height*2) forBarMetrics:UIBarMetricsDefault];
于 2013-04-20T20:08:07.057 回答