27

新しいナビゲーション ベースの iPhone アプリを作成しました。これを RootViewController に追加しました。

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] init];
self.navigationItem.leftBarButtonItem = addButton;
self.navigationItem.leftBarButtonItem.enabled = YES;
}

ただし、左ボタンは表示されません。何かしなければならないことはありますか?

4

3 に答える 3

55

ボタンが実際に何をするかは定義しません。これは私のアプリからの行です:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)];

cancelEdit:、セレクターは、現在のクラス (self) にあり、次のように定義されています。

- (void) cancelEdit: (id) sender;
于 2009-02-19T16:07:11.200 に答える
14

実際には、ここには記載されていませんが、多くの場合に非常に役立つ別の回答があります。UINavigationControllerを使用したくない場合self.navigationItemは、オプションではありません。

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageName"] style:UIBarButtonItemStyleBordered target:self action:@selector(action:)];
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Bar Title"];
navigationItem.leftBarButtonItem = barButton;
[navigationBar pushNavigationItem:navigationItem animated:NO];

バーとボタンを備えた軽量の UIViewController を作成するときにそれが必要になる場合がありますが、ナビゲーションのオーバーヘッドは必要ありません。

于 2012-10-07T21:35:45.767 に答える
11

この質問について:

素晴らしいです、ありがとう。利用可能なさまざまなセレクターはどこにありますか? ドキュメントはこれについて非常に曖昧です。インスタンス メソッドを定義し、それをセレクターとして配置しましたが、実行されませんでした。ボタンがクリックされたときに詳細ビューでスライドしたいと思います。– 4thSpace 2 月 19 日 16:19

さらに情報が必要な場所に移動し、エスケープ (Esc) キーを押します。したがって、この例では:

...(beginning of line)... @selector(Place Cursor Here, press Esc) ...

使用可能なセレクターのリストが表示されます。Microsoft プログラマーにとって、これは Intellisense のようなものですが、Esc で要求する必要があります (Visual Studio のように自動的に表示されないだけです)。実際には、XCode は、入力を開始すると、作成しようとしているもののほとんどを作成し、Tab キーがあなたの友人であることがわかると非常に役立ちます。(まあ...友達だ... 孤独な生活を送っている)

ここで、独自のセレクターが必要な場合は、そこにラベルを配置して ( mySelector : たとえば)、コードのさらに下にビルドします。

- (IBAction)mySelector:(id)sender {
NSLog(@"You touched me THERE!");
}

また、ヘッダー (.h) ファイルには、対応する次のものを必ず入れてください。

-(IBAction) mySelector:(id)sender;

于 2009-09-06T04:03:13.920 に答える