今天遇到一个问题,查了好久,终于解决。

我需要根据不同的条件给uibutton赋不同的值,由于字体要求有不同颜色变化,所以我选择了一个条件下用setTitle,另一个条件下用setAttributedTitle,但问题来了:当条件转换时,需要从setAttributedTitle切换到setTitle时,并没有达到我想要的切换。下面附上代码:

NSString *unReceiptStr = @"";
        if (model.uNreceiptCoun==0) {
            unReceiptStr = @"全部已回执";
           
           [self.receiptBtn setTitle:unReceiptStr forState:UIControlStateNormal];/****1
          
        }else{
            unReceiptStr = [NSString stringWithFormat:@"%d人未回执",model.uNreceiptCoun];
            NSString *unCounStr = [NSString stringWithFormat:@"%d",model.uNreceiptCoun];
            NSMutableAttributedString *unReceiptString = [WYTools changStrColorWithTotalStr:unReceiptStr start:0 changeStr:unCounStr withColor:Color(255, 108, 83)];
            [self.receiptBtn setAttributedTitle:unReceiptString forState:UIControlStateNormal];/****2
        }

当model.uNreceiptCoun!=0时正常显示,但当model.uNreceiptCoun==0,并不能显示全部已回执。

我查阅了相关文档,加上自己的推测,当对同一个按钮同时使用setTitle与setAttributedTitle,按钮优先选择使用setAttributedTitle,所以导致在model.uNreceiptCoun==0处无法切换回。

最后我的处理办法:将所有在setAttributedTitle后的setTitle,替换为setAttributedTitle,一切又恢复正常!

iOS UIButton setTitle与setAttributedTitle的更多相关文章

  1. iOS改动UIButton setTitle字体颜色和调整字体位置

    调整Title字体位置 [button setTitleEdgeInsets:UIEdgeInsetsMake(10, 0, 0, 0)]; 四个參数分别代表:上边界,左边界.下边界,右边界 改动UI ...

  2. IOS UIButton用法详解

    这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用.   //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWi ...

  3. iOS UIButton 图片文字上下垂直布局 解决方案

    实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)b ...

  4. iOS UIButton文字和图片间距随意调整

    代码地址如下:http://www.demodashi.com/demo/11606.html 前记 在开发中,我们经常会遇到这么一种情况,就是一个按钮上面有图片也有文字,但是往往设计并不是我们想要的 ...

  5. iOS - UIButton设置文字标题下划线以及下划线颜色

    创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...

  6. iOS - UIButton

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIButton : UIControl <NSCoding> @available(iOS 2.0, ...

  7. iOS:UIButton按钮的详解

    UIButton的详细介绍: 一.按钮具有的属性: @property(nonatomic,readonly) UIButtonType buttonType;  //按钮形状类型 @property ...

  8. iOS - UIButton折行文字显示设置

    首先在控制器中创建一个button - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] i ...

  9. ios UIButton设置单选效果,以及同时设置图片和标题

    一,设置单选效果 - (void)selectedBtnPress:(UIButton*)sender { //首先把原来按钮的选中效果消除 for (int i=0;i<num;i++) {/ ...

随机推荐

  1. linux下配置ip地址四种方法(图文方法)

    主要是用第四种方法 (1)Ifconfig命令  第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig  ...

  2. 服务器ssh登录提示“Permission denied, please try

    原因:不用怀疑,一般情况下,就是你密码输入错误了. 解决:找到正确的密码输入. 当然,也有可能是下面的情况: 在Windows中使用ssh客户端连接,提示"ssh服务器拒绝了密码,请再试一次 ...

  3. ORDER BY 1,2 desc

    ORDER BY 1,2 desc     --先按照选择列里的第一列进行升序排序,再按选择列的第二列降序排序    --选择列是指查询语句中select后面跟着的字段(1,2は検索の列)

  4. 图标:适配不同分辨 的 hdpi、mdpi、ldpi 文件夹

    一:不同的layout Android手机屏幕大小不一,有480×320, 640×360, 800×480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layo ...

  5. html 学习资料列表

    HTML 教程 HTML 简介 html div 标签介绍 html span 标签介绍 html a 超链接标签 HTML Br换行标签介绍 HTML P段落标签介绍 HTML br与p标签区别 H ...

  6. View & draw

    When an iOS application is launched, it starts a run loop. The run loop’s job is to listen for event ...

  7. JS传递对象数组为参数给后端,后端获取

    前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; test1.id="2&quo ...

  8. js prepend() 和append()区别

    prepend() 方法在被选元素的开头(仍位于内部)插入指定内容.prepend() 语法:$(selector).prepend(content) 或 $(selector).prepend(fu ...

  9. vbox 不识别u盘的问题

    usb设备 ->启用usb设备 ->启用usb2.0(ehci)控制器 添加usb筛选器 给筛选器起个名字

  10. 图解GitHub基本操作

    目录 一.注册并登陆到github网站 1.1.打开github网站首页(https://github.com/) 1.2.注册一个自己的github账号 1.3.登陆自己的github账号 二.创建 ...