我在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。 我想要做的是,我在navigationBar中有自定义按钮,但我在键盘上方使用UIToolbar,我希望这些按钮保持iOS风格。
有没有办法恢复UIAppearance?或者我可以在UIToolbar中明确设置UIBarButtonItem的UIAppearance以使用默认值吗?
答案 0 :(得分:1)
使用UINavigationBar
代替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];