将TextKit与故事板一起使用

时间:2014-05-15 08:09:49

标签: ios objective-c uitextview autolayout textkit

我在一个带有UITextView的故事板中有UINavigationController,如下所示:

enter image description here

它在顶部有一个自动布局约束,以防止最上面的文本被隐藏在导航栏下方,并且左边,右边和底部都有一个约束。

我需要使用自定义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子类,我可以解决这个问题,我是否认为这是不可能的?

1 个答案:

答案 0 :(得分:4)

要回答我自己的问题,这里的解决方案是继承UITextView,在子类中实现我的自定义行为,然后在故事板中设置UITextView以使用子类。这让我可以从故事板中维护一组初始约束。