让我们来谈谈属性字符串

大家好! 希望你们一切都好。 今天,我想向您展示我本周学到的一些有趣的东西,称为归因字符串。 您是否曾经想过创建一个在字符串的不同部分具有不同颜色的文本标签或按钮? 让我们以该字符串为例:“没有帐户? 注册”,如果我们希望Don't have an account且“ Sign Up具有不同的字体或颜色,则幼稚的方法(这是我的方法)是创建两个文本标签以实现此目的。 但是,如果这些文本是按钮的一部分,那么创建两个按钮将是愚蠢的。 幸运的是,字符串可以实现分隔此文本以具有不同的颜色或字体。

这是使用归因字符串的结果。 在这里,我创建了一个按钮,以使“注册”具有不同的颜色。 让我们看看如何逐步实现它。

  let button = UIButton(类型:.system) 
 让attributedTitle = NSMutableAttributedString(字符串:“没有帐户?”,属性:[NSFontAttributeName:UIFont.systemFont(ofSize:14),NSForegroundColorAttributeName:UIColor.lightGray]) 
  attributedTitle.append(NSAttributedString(string:“ Sign Up”,属性:[NSFontAttributeName:UIFont.boldSystemFont(ofSize:14),NSForegroundColorAttributeName:UIColor.blue 
  ])) 
  button.setAttributedTitle(attributedTitle,用于:.normal) 

首先,我创建了类型系统的按钮。 接下来,我创建了一个名为attributedTitle的属性字符串。 在属性字符串中,我可以输入所需的字符串,然后将属性字典添加到字符串中,例如字体,颜色,链接以及更多选项。 在属性字符串中,我刚刚添加了字体和颜色。 通过将attributedTitleNSMutableAttributedString ,我可以在以后将我的设置更改为我的属性,但是,如果您不希望进行任何更改,只需将其设置为NSAttributedString 。 接下来,我要使字符串的Sign Up部分具有不同的颜色。 为了获得不同的属性,我要做的就是将NSAttributedString追加到attributedTitle 。 最后,我要做的就是将我的attributedTitle设置为我的按钮。 我们可以为属性字符串设置更多的设置,例如背景色,下划线,甚至可以将字符的某些范围设置为其他属性,因此,我强烈建议您查看属性字符串的文档。