左右のボタンが付いたナビゲーションバーがあり、右ボタンの横に別のボタンを配置する必要があります。誰か私がこれについてどうやって進むことができるか知っていますか?役立つコードは次のとおりです。
- (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;
}
とても簡単です:)
https://developer.Apple.com/documentation/uikit/uinavigationitem/1624956-rightbarbuttonitems
navigationItem.rightBarButtonItems = [rightA, rightB] // @[rightA, rightB] for ObjC
self.navigationItem.rightBarButtonItem
を使用する代わりに、
self.navigationItem.rightBarButtonItems //note the plural
これにより、単一のボタンではなくボタンの配列を設定できます。
詳細については、 INavigationItemクラスリファレンス を参照してください。
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]