私のアプリでは、NavigationController でカスタム UINavigationBar とカスタム UIBarButtonItems を使用しています。私の (カスタム) NavigationBar は問題ないように見えますが、独自の backBarButtonItem と RightBarButtonItem を配置しようとするとうまくいきません。
独自の backBarButtonItem のインストールがまったく機能しません (PushViewController メソッドの後)。私はこのコードを使用します:
UIButton *home = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *homeImage = [UIImage imageNamed:@"Topbarback"];
[home setBackgroundImage:homeImage forState:UIControlStateNormal];
home.frame = CGRectMake(0, 0, 51, 30);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithCustomView:home];
[self.navigationItem setBackBarButtonItem:backButton];
また、独自の rightBarButtonItem もあります。NavigationBar で取得できますが、実行したいメソッドを呼び出していません。そのための私のコードは次のとおりです。
UIButton *home = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *homeImage = [UIImage imageNamed:@"Topbarback"];
[home setBackgroundImage:homeImage forState:UIControlStateNormal];
home.frame = CGRectMake(0, 0, 51, 30);
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
initWithCustomView:home];
// self.navigationItem.backBarButtonItem = cancelButton;
[self.navigationItem setBackBarButtonItem:cancelButton];
結果のない解決策をインターネットで数時間探した後、皆さんが私を助けてくれることを願っています!
ありがとう!
編集:申し訳ありませんが、最後の号に間違ったコードを投稿しました:
UIButton *home2 = [UIButton buttonWithType:UIButtonTypeCustom];
[home2 setTitle:@"Sort" forState:UIControlStateNormal];
[home2.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15]];
UIImage *homeImage2 = [UIImage imageNamed:@"Topbarbutton"];
[home2 setBackgroundImage:homeImage2 forState:UIControlStateNormal];
home2.frame = CGRectMake(0, 0, 77, 30);
UIBarButtonItem *cancelButton2 = [[UIBarButtonItem alloc]
initWithCustomView:home2];
[cancelButton2 setTarget:self];
[cancelButton2 setAction:@selector(sorteren)];
self.navigationItem.rightBarButtonItem = cancelButton2;