2017-10-10 25 views
0

我一直在为我的文本视图创建一个高亮系统,该系统足够大以启用滚动功能,在底部添加了一个使用子视图的按钮,继续观看下一个视图。textview中的子视图按钮在更改NSMutableAttributedString之前消失,直到滚动到顶部

当我用下面的功能改变文本时,按钮消失(不可点击或可见)。 当我滚动到文本视图的顶部,然后再次向下滚动时,该按钮重新出现。有人知道为什么有什么办法刷新按钮的显示?

编辑:子视图计数在事件之前或之后没有更改。

func highlightText() { 

    guard let text = self.textView.attributedText else { 
     return 
    } 
    guard let range = self.textView.visibleBottomRange else { 
     return 
    } 
    let attributedString = NSMutableAttributedString(attributedString:text) 
    attributedString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.yellow , range: range) 

    self.textView.attributedText = attributedString 
} 

回答

0

在这里找到了答案:用 Stackoverflow question

self.textView.layoutManager.allowsNonContiguousLayout = false; 允许子视图,同时改变文本视图的属性文本保持可见

相关问题