[releaseButton setTitle:@"发布" forState:normal];
[releaseButton addTarget:self action:@selector(releaseInfo:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *releaseButtonItem = [[UIBarButtonItem alloc] initWithCustomView:releaseButton];
self.navigationItem.rightBarButtonItem = releaseButtonItem;
17 个解决方案
#1
大侠们帮帮忙啊,在线急等!!!!!!!!
#2
代码看着没什么问题,你可以DEBUG一下在添加时self.navigationController是不是nil
#3
确保你当前的控制器在导航控制器栈中(UINavigationController),意思是当前的控制器或为uinavigationcontroller 的rootViewController或为uinavigationcontroller 的viewcontrollers 中的一员
#4
如果是这种情况你可以尝试用uinavigationcontroller 包装一下
UIViewController *yourcontroller = .......
UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController: yourcontroller ]
UIViewController *yourcontroller = .......
UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController: yourcontroller ]
#5
self.navigationController吗? 试了一下,不是nil 可右边按钮为什么显示不出来呢?
#6
该控制器是在在故事板中做的(拖了一个UINavigationController),主控制器中用如下代码来加载故事版
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Help" bundle:nil];
UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"help"];
HelpViewController *help = (HelpViewController *)nav.topViewController;
help.navTitle = @"帮办";
[self presentViewController:nav animated:true completion:nil];
关键是该控制器添加的左边的返回按钮能显示出来,右边的按钮却没添加上
#7
有知道原因的吗,不要沉啊
![iOS中如何在导航栏右边添加按钮 iOS中如何在导航栏右边添加按钮](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBeEwyWmhZMlV2TlRBdVoybG0%3D.jpg?w=700&webp=1)
#8
初始化frame
releaseButton.frame = CGRectMake(0, 0, 80.0f, 30.0f);
#9
没初始化。。怎么加上啊、
你在逗我吗
你在逗我吗
![iOS中如何在导航栏右边添加按钮 iOS中如何在导航栏右边添加按钮](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyMXZibXRsZVM4eU5TNW5hV1k9.jpg?w=700&webp=1)
#10
[
UIBarButtonItem *releaseButon=[[UIBarButtonItem alloc] initWithTitle:@"发布" style:UIBarButtonItemStylePlain target:self action:@selector(releaseInfo:)];
self.navigationItem.rightBarButtonItem=releaseButon;
]
这样就行了
UIBarButtonItem *releaseButon=[[UIBarButtonItem alloc] initWithTitle:@"发布" style:UIBarButtonItemStylePlain target:self action:@selector(releaseInfo:)];
self.navigationItem.rightBarButtonItem=releaseButon;
]
这样就行了
#11
楼主,我试了下,你的问题加个背景色并且加个frame就能显示了
#12
加一句就OK了[releaseButton sizeToFit];
#13
settitlecolor。你没有设置这个
#14
self.navigationController.navigationBarHidden = NO;
#15
成功的将导航栏上的按钮添加背景图片 并显示自己要的title
1.Button的属性
@property (nonatomic, strong)UIButton *rightBtn;//右按钮
2.rightBtn的懒加载
- (UIButton *)rightBtn
{
if (_rightBtn == nil) {
_rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(180, 0, 60, 30)];
[_rightBtn setBackgroundImage:[UIImage imageNamed:@"buttonbar_action@2x"] forState:UIControlStateNormal];
[_rightBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_rightBtn setTitle:@"设置" forState:UIControlStateNormal];
}
return _rightBtn;
}
3.在viewDidLoad中实现
//状态栏上的右按钮
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:self.rightBtn];
[self.navigationItem setRightBarButtonItem:rightBarButton];
1.Button的属性
@property (nonatomic, strong)UIButton *rightBtn;//右按钮
2.rightBtn的懒加载
- (UIButton *)rightBtn
{
if (_rightBtn == nil) {
_rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(180, 0, 60, 30)];
[_rightBtn setBackgroundImage:[UIImage imageNamed:@"buttonbar_action@2x"] forState:UIControlStateNormal];
[_rightBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_rightBtn setTitle:@"设置" forState:UIControlStateNormal];
}
return _rightBtn;
}
3.在viewDidLoad中实现
//状态栏上的右按钮
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:self.rightBtn];
[self.navigationItem setRightBarButtonItem:rightBarButton];
#16
一般都是写一个基础的控制器,把navgationbar隐藏,添加一个View大小和导航栏一样大,以后每个控制器都可以继承自该控制器,可以在上面添加自己想要的任何东西
#17
没有初始化frame
#1
大侠们帮帮忙啊,在线急等!!!!!!!!
#2
代码看着没什么问题,你可以DEBUG一下在添加时self.navigationController是不是nil
#3
确保你当前的控制器在导航控制器栈中(UINavigationController),意思是当前的控制器或为uinavigationcontroller 的rootViewController或为uinavigationcontroller 的viewcontrollers 中的一员
#4
如果是这种情况你可以尝试用uinavigationcontroller 包装一下
UIViewController *yourcontroller = .......
UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController: yourcontroller ]
UIViewController *yourcontroller = .......
UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController: yourcontroller ]
#5
self.navigationController吗? 试了一下,不是nil 可右边按钮为什么显示不出来呢?
#6
该控制器是在在故事板中做的(拖了一个UINavigationController),主控制器中用如下代码来加载故事版
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Help" bundle:nil];
UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"help"];
HelpViewController *help = (HelpViewController *)nav.topViewController;
help.navTitle = @"帮办";
[self presentViewController:nav animated:true completion:nil];
关键是该控制器添加的左边的返回按钮能显示出来,右边的按钮却没添加上
#7
有知道原因的吗,不要沉啊
![iOS中如何在导航栏右边添加按钮 iOS中如何在导航栏右边添加按钮](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBeEwyWmhZMlV2TlRBdVoybG0%3D.jpg?w=700&webp=1)
#8
初始化frame
releaseButton.frame = CGRectMake(0, 0, 80.0f, 30.0f);
#9
没初始化。。怎么加上啊、
你在逗我吗
你在逗我吗
![iOS中如何在导航栏右边添加按钮 iOS中如何在导航栏右边添加按钮](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyMXZibXRsZVM4eU5TNW5hV1k9.jpg?w=700&webp=1)
#10
[
UIBarButtonItem *releaseButon=[[UIBarButtonItem alloc] initWithTitle:@"发布" style:UIBarButtonItemStylePlain target:self action:@selector(releaseInfo:)];
self.navigationItem.rightBarButtonItem=releaseButon;
]
这样就行了
UIBarButtonItem *releaseButon=[[UIBarButtonItem alloc] initWithTitle:@"发布" style:UIBarButtonItemStylePlain target:self action:@selector(releaseInfo:)];
self.navigationItem.rightBarButtonItem=releaseButon;
]
这样就行了
#11
楼主,我试了下,你的问题加个背景色并且加个frame就能显示了
#12
加一句就OK了[releaseButton sizeToFit];
#13
settitlecolor。你没有设置这个
#14
self.navigationController.navigationBarHidden = NO;
#15
成功的将导航栏上的按钮添加背景图片 并显示自己要的title
1.Button的属性
@property (nonatomic, strong)UIButton *rightBtn;//右按钮
2.rightBtn的懒加载
- (UIButton *)rightBtn
{
if (_rightBtn == nil) {
_rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(180, 0, 60, 30)];
[_rightBtn setBackgroundImage:[UIImage imageNamed:@"buttonbar_action@2x"] forState:UIControlStateNormal];
[_rightBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_rightBtn setTitle:@"设置" forState:UIControlStateNormal];
}
return _rightBtn;
}
3.在viewDidLoad中实现
//状态栏上的右按钮
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:self.rightBtn];
[self.navigationItem setRightBarButtonItem:rightBarButton];
1.Button的属性
@property (nonatomic, strong)UIButton *rightBtn;//右按钮
2.rightBtn的懒加载
- (UIButton *)rightBtn
{
if (_rightBtn == nil) {
_rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(180, 0, 60, 30)];
[_rightBtn setBackgroundImage:[UIImage imageNamed:@"buttonbar_action@2x"] forState:UIControlStateNormal];
[_rightBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_rightBtn setTitle:@"设置" forState:UIControlStateNormal];
}
return _rightBtn;
}
3.在viewDidLoad中实现
//状态栏上的右按钮
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:self.rightBtn];
[self.navigationItem setRightBarButtonItem:rightBarButton];
#16
一般都是写一个基础的控制器,把navgationbar隐藏,添加一个View大小和导航栏一样大,以后每个控制器都可以继承自该控制器,可以在上面添加自己想要的任何东西
#17
没有初始化frame