2
UIImagePickerControllerのナビゲーションバーボタンを変更しようとしています。これまでのところ私は、右のバーボタンアイテム(「Cancel」ボタンを)変更するだけで管理している:UIImagePickerControllerのナビゲーション項目をカスタマイズする
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
UINavigationBar *bar = navigationController.navigationBar;
UINavigationItem *top = bar.topItem;
top.title = @"Photos";
UIImage *buttonImageCancel = [UIImage imageNamed:@"DoneBarButton.png"];
UIButton *buttonCancel = [[UIButton alloc] initWithFrame:CGRectMake(0,5,55, 29)];
[buttonCancel setBackgroundImage:buttonImageCancel forState:UIControlStateNormal];
[buttonCancel addTarget:self action:@selector(imagePickerControllerDidCancel:) forControlEvents:UIControlEventTouchUpInside];
[buttonCancel setTitle:@"Cancel" forState:UIControlStateNormal];
[buttonCancel setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[[buttonCancel titleLabel] setFont:[UIFont boldSystemFontOfSize:10]];
UIBarButtonItem *barButtonCancel = [[UIBarButtonItem alloc] initWithCustomView:buttonCancel];
[top setRightBarButtonItem:barButtonCancel]; }
をしかし、他のビューコントローラ(例えば「フォトライブラリ」)で「キャンセル」ボタンをもう一度古いものです。また、メインピッカーのビューに戻った後、カスタマイズされた「取消」ボタンが再び標準の取消ボタンに置き換えられます。 誰もそのボタンを変更する方法を知っていますか?サブクラス化? ありがとうございました!
ありがとうctreave。どのように私はそれを実装するだろうか? – saeppi
UINavigationControllerでカテゴリを作成し、次のようにのように実装:実装UINavigationBar(MyNavigationBar) - (無効)のdrawRect:(CGRect)RECT { //設定ボタンここ } @endあなたがこの[リンク](httpsを試すことができますが//developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocCategories.html#//apple_ref/doc/uid/TP30001163-CH20-TPXREF139) –
UINavigationControllerまたはUINavigationBarの新しいカテゴリですか? – saeppi