3

ここに画像の説明を入力

ナビゲーションアイテムに新しいボタンを追加するにはどうすればよいですか? 右ボタンの近くに追加する必要があるとします。

左右に使用するコード。

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_cancelButton];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_shareButton];

もう 1 つボタンを追加するにはどうすればよいですか?

4

5 に答える 5

4

さらにボタンを追加できます

self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:uibarbuttonInstance1, uibarbuttonInstance2, nil];

右ボタンも同様

self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:uibarbuttonInstance1, uibarbuttonInstance2, nil];
于 2013-05-08T12:14:36.307 に答える
4

ナビゲーションコントローラーの右側に複数のボタンを追加するには、さまざまなアプローチがあります。シンプルな方法の1つを以下に示します

 UIView *buttonView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];

UIButton *exampleButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
exampleButton1.frame = CGRectMake(0, 2, 30, 40);
[exampleButton1 addTarget:self action:@selector(FirstMethod) forControlEvents:UIControlEventTouchUpInside];
[exampleButton1 setImage:[UIImage imageNamed:@"image1.png"] forState:UIControlStateNormal];
[buttonView addSubview:exampleButton1];


UIButton *exampleButton2 = [UIButton buttonWithType:UIButtonTypeCustom];
exampleButton2.frame = CGRectMake(70, 2, 30, 40);
[exampleButton2 addTarget:self action:@selector(Second method) forControlEvents:UIControlEventTouchUpInside];
[exampleButton2 setImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal];

[buttonView addSubview:exampleButton2];

 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:buttonView];

お役に立てば幸いです。ありがとうございます。

于 2013-05-08T13:28:18.410 に答える
1

これを試して。それは私のために働いた。

UIBarButtonItem *flex = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
    flex.width = 20;
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn setFrame:CGRectMake(0, 0, 40, 30)];
    [btn setImage:[UIImage imageNamed:@"mac-gray.png"] forState:UIControlStateNormal];

    UIBarButtonItem *bar1 = [[UIBarButtonItem alloc]initWithCustomView:btn];

    UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn2 setFrame:CGRectMake(0, 0, 40, 30)];
    [btn2 setImage:[UIImage imageNamed:@"mac-gray.png"] forState:UIControlStateNormal];

    UIBarButtonItem *bar2 = [[UIBarButtonItem alloc]initWithCustomView:btn2];

    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:bar1,flex,bar2, nil];
于 2013-05-08T12:12:07.047 に答える
1
NSArray *tempArray2= [[NSArray alloc] initWithObjects:self.shareBtn,self.gameCenterBtn,nil];
self.navigationItem.leftBarButtonItems=tempArray2;
于 2013-05-08T12:08:46.927 に答える