Win*_*ton 3 iphone uitextview ios ios7 ios8
我正在使用UIMenuItem
并UIMenuController
为我添加一个高亮功能UITextView
,因此用户可以更改所选文本的背景颜色,如下图所示:
UITextView
的突出显示功能检测文本:
我最终解决了这个问题,如果其他人有更优雅的解决方案,请告诉我:
- (void)viewDidLoad {
[super viewDidLoad];
UIMenuItem *highlightMenuItem = [[UIMenuItem alloc] initWithTitle:@"Highlight" action:@selector(highlight)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:highlightMenuItem]];
float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue];
if (sysVer >= 8.0) {
self.textView.layoutManager.allowsNonContiguousLayout = NO;
}
}
- (void)highlight {
NSRange selectedTextRange = self.textView.selectedRange;
[attributedString addAttribute:NSBackgroundColorAttributeName
value:[UIColor redColor]
range:selectedTextRange];
float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue];
if (sysVer < 8.0) {
// iOS 7 fix
self.textView.scrollEnabled = NO;
self.textView.attributedText = attributedString;
self.textView.scrollEnabled = YES;
} else {
self.textView.attributedText = attributedString;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3850 次 |
最近记录: |