iOS 设置titleview的宽度为屏幕宽
iOS 设置titleview的宽度为屏幕宽
秦无炎 发表于9个月前
iOS 设置titleview的宽度为屏幕宽
  • 发表于 9个月前
  • 阅读 21
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

项目中,需要使用self.navigationItem.titleView来设置titleview,并且要求达到和屏幕一样宽。

 

  1. label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];  
  2. label.text = @"月未央";  
  3. label.textAlignment = NSTextAlignmentCenter;  
  4. label.backgroundColor = [UIColor redColor];  
  5. self.navigationItem.titleView = label;  

单纯的设置frame,没有达到预想的效果,效果图如下:

 

两边总是留出部分“空隙”。查找相关资料,达到的解决方案如下:

继承UIView, 重写其中的setFrame方法。

 

  1. @implementation GFTitleView  
  2.   
  3. - (id)initWithFrame:(CGRect)frame  
  4. {  
  5.     self = [super initWithFrame:frame];  
  6.     if (self) {  
  7.           
  8.     }  
  9.     return self;  
  10. }  
  11.   
  12. - (void)setFrame:(CGRect)frame {  
  13.     [super setFrame:CGRectMake(0, 0, self.superview.bounds.size.width, self.superview.bounds.size.height)];  
  14. }  

使用代码:

  1. titleView = [[GFTitleView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];  
  2. titleView.backgroundColor = [UIColor redColor];  
  3. self.navigationItem.titleView = titleView;  


效果图:

 

 

原文:http://blog.csdn.net/kid_devil/article/details/23225019

共有 人打赏支持
粉丝 4
博文 110
码字总数 3108
×
秦无炎
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: