在做一个练习,想利用iOS7的Text Kit做个简单的阅读器程序,发现UITextView中的文字不能选择,也不弹出放大镜和编辑菜单。于是我另起了一个项目简化后单独试了下,问题依旧。部分代码如下:
NSString *string = @"Hello world.nnnnnAnnnnnBnnnnnCnnnnDnnnnnEnnnnF";
self.textStorage = [[NSTextStorage alloc] initWithString: string attributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:17.0] }];
self.layoutManager = [[NSLayoutManager alloc] init];
[self.textStorage addLayoutManager:self.layoutManager];
CGRect rect = CGRectInset(self.scrollView.bounds, 10, 20);
for (int i = 0; i < 2; i++) {
rect.origin.x += CGRectGetWidth(self.scrollView.bounds) * i;
NSTextContainer *textContainter = [[NSTextContainer alloc] initWithSize:rect.size];
[self.layoutManager addTextContainer:textContainter];
UITextView *textView = [[UITextView alloc] initWithFrame:rect textContainer:textContainter];
textView.editable = NO;
textView.scrollEnabled = NO;
[self.scrollView addSubview:textView];
}
而且诡异的是,如果只创建一个UITextView(NSTextContainer)的话,一切正常,多个则不行。Stack Overflow上有个类似问题(地址),不过提供的一个解决方法看着好变扭……而且我想知道出现这个现象的原因。
请各位高手们帮忙解答,不甚感激!
完整代码放在Github上:地址