uinavigationbarに情報ボタン(円で囲まれた文字「i」)があるアプリケーションの多くを見てきました。このタイプのボタンを追加するにはどうすればよいですか?
7809 次
4 に答える
31
前の回答は近いもので、完全にはコンパイルされませんでした。これがあなたが本当に欲しいものです:
// Info button
UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
[infoButton addTarget:self action:@selector(showInfoView:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
于 2009-09-22T17:05:46.113 に答える
3
上記の回答にはメモリリークがあります。これを回避するには、「autorelease」を使用する必要があります。回答を編集しようとしましたが、これまでのところ成功していません。
// Info button
UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
[infoButton addTarget:self action:@selector(showInfoView:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:infoButton] autorelease];
これが正しい方法です。
于 2011-12-03T10:40:01.797 に答える
0
UINavigationController が現在表示しているビュー コントローラの navigationItem に「Info Light」タイプのボタンを追加できるはずです。次のようなものがView Controllerコードに入る可能性があります:
- (void) viewDidLoad {
UIButton * info = [UIButton buttonWithType:UIButtonTypeInfoLight];
// set your button's target and selector for whatever action here.
self.navigationItem.rightBarButtonItem.customView = info;
}
于 2009-09-21T18:58:48.180 に答える