取消NavigationBar左右两边的空隙

因为美工设计的NavigationBar两侧是没有空隙的,于是就发现了这个问题,怎么设置NavigationBar两边的距离。然后到code4App上,看了一下所有关于NavigationBar的demo左右两边都是有空隙的。说明这个不是简单地通过设置UINavigationItem上的UIButton的frame来实现的,(是的,我试过将UIButton的frame的x设置为负数,这个在Android的界面适配中可以常用到的,比如设置RadioButton的按钮和文字之间的距离)。最后求助Google,解决起来还是很简单的。和我想的有点像,具体如下

    //***取消navigationBar左右得空隙***
    //1.得到UINavigationBar的frame数据
    CGRect frame = navigationBar.frame;
    //2.修改origin.x,使UINavigationBar整体向左移动10个像素
    frame.origin.x = -10;
    //3.拉伸UINavigationBar20个像素(先补回左移的10个像素,再向右移动10个像素)
    frame.size = CGSizeMake(320+20, 44);
    navigationBar.frame = frame;

效果图:

未单击状态

 

单击状态,可以看到左边的空隙没有了

 

等一下,可以看到右侧有一个黑色的残缺小角,我猜测是因为NavigationBar的背景是按平铺填充的,解决方法就是将背景图片上的内容向右移动20像素,再在图片右侧添加20个透明像素就好了。

O啦~~~

转帖请保留出处:http://blog.csdn.net/u011638883/article/details/12837117

谢谢!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值