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 にも影響しているようです。私がやりたいことは、navigationBar にカスタム ボタンがありますが、キーボードの上に UIToolbar を使用していて、それらのボタンを標準の iOS スタイルのままにしたいということです。

UIAppearance を元に戻す方法はありますか? または、デフォルトを使用するように UIToolbar 内の UIBarButtonItem の UIAppearance を明示的に設定できますか?

4

1 に答える 1

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];
于 2013-04-20T20:08:07.057 に答える