Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 空属性字符串的属性_Ios_Swift_Nsattributedstring_Nsmutableattributedstring - Fatal编程技术网

Ios 空属性字符串的属性

Ios 空属性字符串的属性,ios,swift,nsattributedstring,nsmutableattributedstring,Ios,Swift,Nsattributedstring,Nsmutableattributedstring,我正在尝试设置属性字符串的字体和文本颜色,如下所示: var attributedString = NSMutableAttributedString(string: myText, attributes: [.font : myFont, .foregroundColor: myTextColor]) 稍后,我将向这个属性化字符串添加更多文本 如果myText变量包含一些文本,则效果很好-文本以正确的字体和文本颜色显示。但是,如果myText是空字符串,则不会添加属性,这意味着当我稍后向属性

我正在尝试设置属性字符串的字体和文本颜色,如下所示:

var attributedString = NSMutableAttributedString(string: myText, attributes: [.font : myFont, .foregroundColor: myTextColor])
稍后,我将向这个属性化字符串添加更多文本

如果myText变量包含一些文本,则效果很好-文本以正确的字体和文本颜色显示。但是,如果myText是空字符串,则不会添加属性,这意味着当我稍后向属性字符串添加更多文本时,它将以默认的Helvetica 12px字体显示为黑色

即使实际文本是空字符串,也可以向属性字符串添加属性吗


我在UITextView中使用它,如果用户删除textview中的所有文本,导致属性字符串为空字符串,所有文本格式也将被删除,这意味着任何进一步添加的文本将使用默认的Helvetica字体显示,而不是我希望使用的字体。

这些属性在整个文本视图中是否一致,即您是否对文本视图中的不同范围使用不同的字体或颜色?如果整个文本的属性相同(
UITextView
UITextField
),您只对字体和前景感兴趣,然后不要使用
NSAttributedString
,使用
String
font
属性以及
UITextView
/
UITextField
textColor
属性。除此之外,您还可以检查属性的
类型
属性。用户可以用不同的方式格式化文本-将文本设置为粗体等-但字体始终相同,但具有不同的特征(粗体、斜体等)