1

プロパティ rightBarButtonItems を使用してバー ボタンの配列をナビゲーション項目に追加しました。iOS5 でうまく機能しますが、iOS6 でテストしたところ、バー ボタン項目は 1 つしか表示されません。

UIBarButtonItem *updateButton          = [[UIBarButtonItem alloc]
                                          initWithTitle:@"Update"
                                          style:UIBarButtonItemStylePlain
                                          target:self
                                          action:@selector(updateData)];

UIBarButtonItem *refreshButton          = [[UIBarButtonItem alloc]
                                          initWithTitle:@"Refresh"
                                          style:UIBarButtonItemStylePlain
                                          target:self
                                          action:@selector(refresh)];

NSArray *arrBtns = [[NSArray alloc]initWithObjects:updateButton,refreshButton, nil];

self.navigationItem.rightBarButtonItems=arrBtns;

バーボタンの配列をナビゲーションアイテムに追加するiOS6の新しいプロパティはありますか。

助けていただければ幸いです。どうもありがとうございました。

4

1 に答える 1

1

NavigationBar の rightBarButtonItems に multiButton を追加する場合は、rightBarButtonItems に segmentController を使用してください。

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
                                            [NSArray arrayWithObjects:@"Add",@"Delete",
                                             nil]];
    segmentedControl.frame = CGRectMake(0, 0, 80, 30);
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
    [segmentedControl setWidth:35.0 forSegmentAtIndex:0];
    [segmentedControl setWidth:45.0 forSegmentAtIndex:1];

    [segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
    segmentedControl.momentary = YES;

    UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
    [segmentedControl release];

    self.navigationItem.leftBarButtonItem = segmentBarItem;
    [segmentBarItem release];

ここに画像の説明を入力

次に、最初のバー Button の反対側に 2 番目のボタンを追加します。

于 2012-12-21T14:49:17.613 に答える