将自定义 NSLayoutManager 添加到在 Storyboard 中创建的 UItextView

问题描述

我想对从故事板引用的文本视图使用自定义布局管理器。我知道我们可以继承 NSLayoutManager 并将布局分配给代码中的 textview,但我想使用故事板中的 textview。

我发现在 NSTextcontainer 类中有一个方法

func replaceLayoutManager(_ newLayoutManager: NSLayoutManager) 替换 layout manager

但我不知道如何将它用于故事板中创建的文本视图。请让我知道有没有办法为在 storybard 中创建的文本视图分配自定义布局管理器。

解决方法

您不能在视图/视图控制器中添加对文本视图的引用并在其上调用 replaceLayoutManager 函数吗?

或者你没有任何代码连接到你的故事板?在这种情况下,您可以子类化 UITextView,覆盖 awakeFromNib 并在其中提供您的自定义布局管理器。然后,在故事板中使用引用您的子类类型。