web-dev-qa-db-ja.com

複数のボタンを備えたナビゲーションバー

左右のボタンが付いたナビゲーションバーがあり、右ボタンの横に別のボタンを配置する必要があります。誰か私がこれについてどうやって進むことができるか知っていますか?役立つコードは次のとおりです。

- (id)init {
    self = [super initWithStyle:UITableViewStyleGrouped];
    if (self) {

        _pinArray = [[NSArray alloc]init];
        _pinArray = [Data singleton].annotations;

        UIBarButtonItem *right = [[UIBarButtonItem alloc]initWithTitle:@"Map"
                                                                 style:UIBarButtonItemStylePlain
                                                            target:self
                                                            action:@selector(goToMap:)];
        self.navigationItem.rightBarButtonItem = right;

        UIBarButtonItem *left = [[UIBarButtonItem alloc]initWithTitle:@"Menu"
                                                            style:UIBarButtonItemStylePlain
                                                           target:self
                                                           action:@selector(goToMenu:)];
        self.navigationItem.leftBarButtonItem = left;
        self.navigationItem.title = @"My Homes";
    }
    return self;
}
21

とても簡単です:)

https://developer.Apple.com/documentation/uikit/uinavigationitem/1624956-rightbarbuttonitems

navigationItem.rightBarButtonItems = [rightA, rightB] // @[rightA, rightB] for ObjC
49
Ryan Poolos

self.navigationItem.rightBarButtonItemを使用する代わりに、

self.navigationItem.rightBarButtonItems //note the plural

これにより、単一のボタンではなくボタンの配列を設定できます。

詳細については、 INavigationItemクラスリファレンス を参照してください。

7
David Ravetti
  let RightBarButton = UIButton()
        RightBarButton.setTitleColor(UIColor.blueColor(), forState: .Normal)
        RightBarButton.frame = CGRectMake(30,0,30,30)
        RightBarButton.setImage(UIImage(named: "search-icon.png"), forState: .Normal)
        RightBarButton.addTarget(self, action: #selector(BaseViewController.OpenQuickLink), forControlEvents: .TouchUpInside)

        let RightBarButton2 = UIButton()
        RightBarButton2.setTitleColor(UIColor.blueColor(), forState: .Normal)
        RightBarButton2.frame = CGRectMake(0,0,30,30)
        RightBarButton2.setImage(UIImage(named: "share-icon.png"), forState: .Normal)
        RightBarButton2.addTarget(self, action: #selector(BaseViewController.Opensharelink), forControlEvents: .TouchUpInside)
        let barButtonItem1 = UIBarButtonItem(customView: RightBarButton2)

        let barButtonItem = UIBarButtonItem(customView: RightBarButton)


navigationItem.rightBarButtonItems = [barButtonItem1, barButtonItem2]
1
Neha