2013-04-20 82 views
0

我设置了一个的UIBarButtonItem在UIAppearance这样一个UINavigationController:的UIBarButtonItem外观NavigationControl影响工具栏

[[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样式。

有没有办法恢复UIA的外观?或者我可以明确地设置一个UIBarButtonItem在UIToolbar内使用默认的UIAppearance?

回答

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];