我在一个带有UITextView
的故事板中有UINavigationController
,如下所示:
它在顶部有一个自动布局约束,以防止最上面的文本被隐藏在导航栏下方,并且左边,右边和底部都有一个约束。
我需要使用自定义NSTextStorage
子类,我理解这要求我手动实例化UITextView
并将其插入到视图中。我的问题是,我如何用代码模仿这些约束?
这是我为初始化UITextView编写的代码:
_textStorage = [[MyCustomTextStorage alloc] initWithString:@"some string"];
_layoutManager = [NSLayoutManager new];
[_textStorage addLayoutManager: _layoutManager];
_textContainer = [NSTextContainer new];
[_layoutManager addTextContainer: _textContainer];
_textView = [[UITextView alloc] initWithFrame:self.view.bounds textContainer:_textContainer];
[self.view addSubview:_textView];
顺便说一句,如果有一种方法可以在故事板中使用带有UITextStorage
的自定义UITextView
子类,我可以解决这个问题,我是否认为这是不可能的?
答案 0 :(得分:4)
要回答我自己的问题,这里的解决方案是继承UITextView,在子类中实现我的自定义行为,然后在故事板中设置UITextView以使用子类。这让我可以从故事板中维护一组初始约束。