注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

尐鬼じ☆ve伱

和你在一起的日子

 
 
 

日志

 
 

关于UIButton的一些新认识 (转)  

2012-06-28 10:52:24|  分类: ios 自定义控件 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://rainbird.blog.51cto.com/211214/658482

在<<基于tabBar类似mail多选删除的纠结实现>> 的例子中,有一处代码添加Btn的地方:

  1. UIButton *myBtn1 = [UIButton buttonWithType:UIBarButtonItemStylePlain]; 
  2. selectBtn = myBtn1; 
  3. myBtn1.frame = CGRectMake(0.0f, 0.0f, 80.0f, 30.0f); 
  4. [myBtn1 setTitle:@"删除(0)" forState:UIControlStateNormal]; 
  5. [myBtn1 setTag:1]; 
  6. [myBtn1 setBackgroundImage:[UIImage imageNamed:@"bbg.png"] forState:UIControlStateNormal]; 
  7. [myBtn1 addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
  8. deleteBtn =[[UIBarButtonItem alloc] initWithCustomView:myBtn1]; 
 这个地方添加Button的时候用了[myBtn1 setTitle:@"删除(0)" forState:UIControlStateNormal],我为什么这么写呢?因为当时我发现如果我不先添加一下"(0)"的占位符,后面选择了要删除的项以后,比如Button标题改成了"删除(2)"的时候,会显示不全,所以我就相当然的认为Button的字的宽度一旦设置就是固定的,还自作聪明的使用了占位符.
今天又再次遇到了这样的问题,仔细研究了一下这个问题,发现我后面再设置文字的时候竟然用selectBtn.titleLabel.text = [NSString stringWithFormat:@"删除(%d)",[deleteDic count]].直接修改的文字,其实使用[selectBtn setTitle:[NSString stringWithFormat:@"删除(%d)",[deleteDic count]] forState:UIControlStateNormal]就好了,就不存在占位的问题了.
 

延伸一下,后来发现,如果字太长了的话,可以要求Button自动调整字体的大小的.
 

实现代码很简单了,就一句:
selectBtn.titleLabel.adjustsFontSizeToFitWidth = YES;

本文出自 “rainbird” 博客,请务必保留此出处http://rainbird.blog.51cto.com/211214/658482

  评论这张
 
阅读(130)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017