iOS中如何在导航栏右边添加按钮

yuanhuachao89 2014-06-22 01:12:14
iOS中如何在导航栏右边添加按钮,我为什么没添加上呢,刚接触iOS不长时间,各位大侠帮帮忙啊,我的代码是这样的
UIButton *releaseButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[releaseButton setTitle:@"发布" forState:normal];
[releaseButton addTarget:self action:@selector(releaseInfo:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *releaseButtonItem = [[UIBarButtonItem alloc] initWithCustomView:releaseButton];
self.navigationItem.rightBarButtonItem = releaseButtonItem;
...全文
34820 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35124023 2017-01-10
  • 打赏
  • 举报
回复
没有初始化frame
JeeRui?? 2016-02-26
  • 打赏
  • 举报
回复
一般都是写一个基础的控制器,把navgationbar隐藏,添加一个View大小和导航栏一样大,以后每个控制器都可以继承自该控制器,可以在上面添加自己想要的任何东西
baidu_31003673 2016-02-25
  • 打赏
  • 举报
回复
成功的将导航栏上的按钮添加背景图片 并显示自己要的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];
guozhenchang1119 2016-01-15
  • 打赏
  • 举报
回复
self.navigationController.navigationBarHidden = NO;
正二十八经 2015-11-01
  • 打赏
  • 举报
回复
settitlecolor。你没有设置这个
中二小苇 2015-10-23
  • 打赏
  • 举报
回复
加一句就OK了[releaseButton sizeToFit];
lingluanchen 2015-10-23
  • 打赏
  • 举报
回复
楼主,我试了下,你的问题加个背景色并且加个frame就能显示了
heyItsMerry 2015-07-20
  • 打赏
  • 举报
回复
[ UIBarButtonItem *releaseButon=[[UIBarButtonItem alloc] initWithTitle:@"发布" style:UIBarButtonItemStylePlain target:self action:@selector(releaseInfo:)]; self.navigationItem.rightBarButtonItem=releaseButon; ] 这样就行了
qq_23668885 2014-11-21
  • 打赏
  • 举报
回复
没初始化。。怎么加上啊、 你在逗我吗
yuanhuachao89 2014-06-23
  • 打赏
  • 举报
回复
有知道原因的吗,不要沉啊
yuanhuachao89 2014-06-23
  • 打赏
  • 举报
回复
引用 3 楼 zhanglei5415 的回复:
确保你当前的控制器在导航控制器栈中(UINavigationController),意思是当前的控制器或为uinavigationcontroller 的rootViewController或为uinavigationcontroller 的viewcontrollers 中的一员
该控制器是在在故事板中做的(拖了一个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];
关键是该控制器添加的左边的返回按钮能显示出来,右边的按钮却没添加上
yuanhuachao89 2014-06-23
  • 打赏
  • 举报
回复
引用 2 楼 sinom 的回复:
代码看着没什么问题,你可以DEBUG一下在添加时self.navigationController是不是nil
self.navigationController吗? 试了一下,不是nil 可右边按钮为什么显示不出来呢?
ReyZhang 2014-06-23
  • 打赏
  • 举报
回复
如果是这种情况你可以尝试用uinavigationcontroller 包装一下 UIViewController *yourcontroller = ....... UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController: yourcontroller ]
ReyZhang 2014-06-23
  • 打赏
  • 举报
回复
确保你当前的控制器在导航控制器栈中(UINavigationController),意思是当前的控制器或为uinavigationcontroller 的rootViewController或为uinavigationcontroller 的viewcontrollers 中的一员
LichKingSZ 2014-06-23
  • 打赏
  • 举报
回复
初始化frame

releaseButton.frame = CGRectMake(0, 0, 80.0f, 30.0f);
LichKingSZ 2014-06-22
  • 打赏
  • 举报
回复
代码看着没什么问题,你可以DEBUG一下在添加时self.navigationController是不是nil
yuanhuachao89 2014-06-22
  • 打赏
  • 举报
回复
大侠们帮帮忙啊,在线急等!!!!!!!!

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧