如何在不可编辑的UITextView中获取当前的属性字符串?

时间:2013-09-20 21:47:31

标签: ios cocoa-touch uitextview nsattributedstring

我通过属性字符串属性在故事板中设置UITextView文本的外观。但是,当我尝试在运行时访问它以复制属性对象时,它返回null。

NSAttributedString *atrString = self.contentTextView.attributedText;
NSLog(@"atrString = %@", atrString);

输出

2013-09-20 14:44:19.572 PageTest[69125:70b] atrString = (null)

之前我没有使用过属性字符串所以我确定我做错了什么,但是搜索文档仍然让我空手而归。任何援助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:3)

刚出现同样的问题:如果未在Interface Builder(Xcode 6.1)中将其标记为可选,则无法访问TextView上的attributesText。没问题但是如果代码完成相同的话。在我的例子中,我是UITextview的子类:

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self)
    {
        self.selectable = NO;
    }
    return self;
}

所以我认为IB的某些方面并不完美。再次)

答案 1 :(得分:0)

它应该有效。 您可能忘记将IBOutlet contentTextView连接到故事板了吗?

尝试打印contentTextView对象:

NSLog(@"contentTextView = %@", self.contentTextView);