iOS 如何删除UINavigationBar上的UIBarButton

遇到一个很纠结的问题。xib文件中拖拽了一个UINavigationBar,在其上放了一个UIBarButtonItem,现在想删除或者隐藏这个UIBarButtonItem。尝试了一些方法,但都不能达到效果。

       

尝试方法一:

 NSMutableArray *items = [[self.navBar subviews] mutableCopy];

    if ([items containsObject:self.leftBtn]) {

        [items removeObject:self.leftBtn];

    }

    [self.navBar setItems:items];


程序直接崩溃的。事实上程序根本没有进if判断。



尝试方法二:


 NSMutableArray *items = [[self.navBar items] mutableCopy];

    if ([items containsObject:self.leftBtn]) {

        [items removeObject:self.leftBtn];

    }

    [self.navBar setItems:items];


没有任何效果。



尝试方法三:


查看文档,发现

@property(nonatomic)  CGFloat  width;            // default is 0.0


尝试设置  self.leftBtn.width = 0.01;

没有效果。



尝试方法四:


    [self.navBar popNavigationItemAnimated:YES];


这个比较彻底。UINavigationBar上的文本“help me!!"也直接没了。




尝试方法五:
将UINavigationBar换成UIToolbar,相应ib中的类也需要修改。

  

NSMutableArray *items = [[self.toolbar items] mutableCopy];

  if ([items containsObject:self.leftBtn]) {

        [items removeObject:self.leftBtn];

    }

    

   [self.toolbar setItems:items];


然后在toolbar上放置一个label,填上需要的文字即可。可以修饰以下文字来达到预期效果。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值