美文网首页技术文档
UIButton--title设置

UIButton--title设置

作者: 哈利波特会魔法 | 来源:发表于2018-01-30 15:18 被阅读4次

    刚刚写了一个button,没有思考的就给它设置title,如下面的方式

      loginBtn.titleLabel.text = @"登录";
      loginBtn.titleLabel.textColor = [UIColor redColor];
    

    发现这2个属性并没有什么卵用,宛如智障的我还在思索,咋不显示呢。
    原来UIButton是要分状态的,因为UIButton继承于UIControl,在设置值的时候需要对象状态,要如下设置

      [loginBtn setTitle:@"登录" forState:UIControlStateNormal];
      [loginBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    

    更新title时,都要设置状态的
    当通过titleLable设置时,我们可以看下,控制台打印的信息

    213587656222A43C9FEA63AD8566BDC0.png

    它的frame是0,隐藏状态,所以就不会显示,看了一下别人的见解,说要设置titleLabel的frame,如下所示,但是然并卵,控制台打印的信息仍然是上面那种情况

      loginBtn.titleLabel.frame = CGRectMake(10, 350, 100, 50)      
      [loginBtn.titleLabel setHidden:NO] ;
    

    所以,我们只能通过setTitle设置

      [loginBtn setTitle:@"点击登录" forState:UIControlStateNormal];
      [loginBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    

    setTitle这个方法,实际上就是利用titleLabel设置,我们来看下打印的信息

    D72D4DB754F349097A99670F24D6C7CC.png

    发现通过setTitle设置之后,UIButtonLabel的text改变了。

    相关文章

      网友评论

        本文标题:UIButton--title设置

        本文链接:https://www.haomeiwen.com/subject/vllczxtx.html