UIBarButtonアイテムにイメージを割り当てて初期化する適切な方法ですか?UIBarButtonItemを(alloc/initwithImage)作成するにはどうすればいいですか?
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]initWithImage:@"back_topbtn.png" style:UIBarButtonItemStyleDone target:nil action:nil];
UIBarButtonアイテムにイメージを割り当てて初期化する適切な方法ですか?UIBarButtonItemを(alloc/initwithImage)作成するにはどうすればいいですか?
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]initWithImage:@"back_topbtn.png" style:UIBarButtonItemStyleDone target:nil action:nil];
あなたがイメージオブジェクトを使用していないあなたがhere.so自分のイメージ名を入れているんこれは正しくない方法では、これはあなたに警告を示し
UIBarButtonItem *barBtn = [[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"back_topbtn.png"] style:UIBarButtonItemStyleDone target:nil action:nil] autorelease];
これは、それを使用するための正しい方法です、また、これは、あなたが何らかの行動を宣言していないときのイメージではありません。何らかのアクション(セレクタを使用)を宣言します。
正しい方法はUIImageを使用することです。 - initWithNibName:bundle:
メソッドでこれを行うのが理にかなっています。
ここに、画像ボタンを右側に追加する例があります。 myButtonTapped:
は、ボタンをタップしたときに呼び出されますので、必ず実装してください。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = @"My title";
UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myimage.png"] style:UIBarButtonItemStylePlain target:self action:@selector(myButtonTapped:)];
self.navigationItem.rightBarButtonItem = myButton;
[myButton release];
}
return self;
}
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *btnImg = [UIImage imageNamed:@"some_image-name"];
[btn setImage:btnImg forState:UIControlStateNormal];
btn.frame = CGRectMake(0, 0, btnImg.size.width, btnImg.size.height);
[btn addTarget:self action:@selector(whatever) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
は正しいと思います。なぜあなたには行動がありません。アクションなしで、あなたはボタンで何をしますか? – karim