您的位置:首页 > 移动开发 > IOS开发

ios导航栏rightBarButtonItems多个按钮自定义设置

2017-09-23 09:46 1896 查看
 ios导航栏rightBarButtonItems多个按钮自定义设置 的方式有多种:

1,带图片的按钮

UIButton *informationCardBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[informationCardBtn addTarget:self action:@selector(enterehzFilesVC:) forControlEvents:UIControlEventTouchUpInside];
[informationCardBtn setImage:[UIImage imageNamed:@"nav_information"] forState:UIControlStateNormal];

[informationCardBtn sizeToFit];
UIBarButtonItem *informationCardItem = [[UIBarButtonItem alloc] initWithCustomView:informationCardBtn];

UIBarButtonItem *fixedSpaceBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixedSpaceBarButtonItem.width = 22;

UIButton *settingBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[settingBtn addTarget:self action:@selector(enterTeamCard:) forControlEvents:UIControlEventTouchUpInside];
[settingBtn setImage:[UIImage imageNamed:@"nav_settings"] forState:UIControlStateNormal];
[settingBtn sizeToFit];
UIBarButtonItem *settingBtnItem = [[UIBarButtonItem alloc] initWithCustomView:settingBtn];

self.navigationItem.rightBarButtonItems  = @[informationCardItem,fixedSpaceBarButtonItem,settingBtnItem];
转自:http://blog.csdn.net/u010675120/article/details/51374169

2,添加多个文字描述的按钮

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"register", nil) style:UIBarButtonItemStylePlain target:self action:@selector(registerClick:)];
UIBarButtonItem *anotherButton2 = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"login", nil) style:UIBarButtonItemStylePlain target:self action:@selector(loginClick:)];
[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects: anotherButton,anotherButton2,nil]];


引用来源:http://blog.csdn.net/ldl0602/article/details/40581681

IOS开发:导航栏添加多个按钮以及在左边添加logo

还查阅到在导航栏的左侧可以添加图片显示的方式: 

self.shareNavleftView = [[UIView alloc] init];
self.shareNavleftView.frame = CGRectMake(0.0, 0.0, 191.0, 47.0);
UIImageView *img = [[UIImageView alloc] init];
img.image = [UIImage imageNamed:@"oatosLogo.png"];
img.autoresizingMask = UIViewAutoresizingFlexibleWidth;
img.frame = self.shareNavleftView.frame;
[self.shareNavleftView addSubview:img];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.shareNavleftView];
这个方式经过测试,可以在导航栏的左侧添加Logo图片, 只在该页面显示。

该作者还认为:如果想把这图在以后的每个页面都显示,添加方式修改为如下方式既可以了。我测试这里是把shareNavleftView添加了统领全局的navigationController.view给添加到了,自然会都显示的。

[self.navigationController.view addSubview:self.shareNavleftView];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: