填充后,textView在iOS中失去样式

填充后,textView在iOS中失去样式,ios,swift,storyboard,uitextview,Ios,Swift,Storyboard,Uitextview,我可能在iOS中发现了一个bug,我不知道如何克服它。一旦数据库用内容填充textView样式,我就会丢失它 事情就是这样: 在我的故事板中,我有以下文本视图 一旦我手动或从我的对象(如下所示)填充textView,它就会丢失其样式 if let object = currentObject.objectForKey("postText") as? String { postTextView.text = "the text field has some text

我可能在iOS中发现了一个bug,我不知道如何克服它。一旦数据库用内容填充textView样式,我就会丢失它

事情就是这样:

在我的故事板中,我有以下文本视图

一旦我手动或从我的对象(如下所示)填充textView,它就会丢失其样式

  if let object  = currentObject.objectForKey("postText") as? String {
            postTextView.text = "the text field has some text added"
        }
在模拟器上,显示样式丢失

还有其他情况:

如果按照下面的图片取消选中可编辑框,我也可能会丢失样式


这里有一个老的答案,希望能回答你的问题并解决你的问题。它似乎确实是一只虫子

您是否设置了文本视图本身的属性(即文本视图文本为“普通”,而非“属性”)?还是使用了属性文本

如果是后者,则很正常,如果用没有属性的纯文本替换属性文本,它将恢复为文本视图本身的属性


确保将类型设置为“普通”,并在文本视图本身而不是其内部的文本上设置属性。或者使用文本视图的
attributedText
而不是
text
属性,并使用适当的属性。

我猜您是从后台更新UI的。若要更新UI,必须在主队列中进行更新。如果你不这样做,就会出现一些奇怪的问题。因此,您可以将代码更改为:

dispatch_async(dispatch_get_main_queue()) { () -> Void in
    if let object  = currentObject.objectForKey("postText") as? String {
        postTextView.text = "the text field has some text added"
    }

}

您如何设置textview的样式?看起来他们在情节提要设置中设置了样式。@Jaba是的,我想知道他们是否使用属性字符串设置样式。或许我应该在我的评论中说得更清楚一些……:)textView是普通的,没有属性。唯一的改变是使用Helvetica作为自定义字体。错误似乎是,如果Selective设置为FALSE,样式将被删除,至少根据我发布的链接。但要澄清的是,你把它设置为真,并得到这个错误吗?我的一个是可选的。我用两种方法都做了测试,效果很好。问题是使其不可编辑。我必须使它在故事板上可编辑,在viewDidLoad上不可编辑。它被设置为普通。在上,将样式归因于字段而不是文本片段也不起作用。我让它工作的唯一方法是在故事板上使其可编辑,然后以编程方式使其
.editable=false