微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 当弹出窗口被解除时,保持UITextView中的文本突出显示

我有一个UIPopover,显示一个包含UITextView的普通视图,其中包含一些文本.我设法强调了文字.当弹出窗口被解除并重新打开时,突出显示消失.即使应用程序已关闭,我也希望保持文本突出显示.任何想法如何实现?我使用的代码如下:

- (void)highlight {

         NSRange selectedRange = self.textViewAll.selectedRange;

         NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]
                                                        initWithAttributedString:self.textViewAll.attributedText];

         [attributedString addAttribute:NSForegroundColorAttributeName
                                  value:[UIColor redColor]
                                  range:selectedRange];

       //  [highlightedRange addobject:];
// This is where i tried to save each location and length in a mutable array but didn't work
         [highlightedRangeLocation insertObject:[NSNumber numberWithInteger:selectedRange.location] atIndex:indexOfHighlight];
         [highlightedRangeLength insertObject:[NSNumber numberWithInteger:selectedRange.length] atIndex:indexOfHighlight];

///////////////////////////////////////////////////////////////////////////////
         self.textViewAll.attributedText = attributedString;

         indexOfHighlight ++ ;
    }
    - (void)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.textViewAll.layoutManager.allowsNonContiguousLayout = NO;
         }


         }

谁能指出如何从这里继续?

编辑1:

关闭popover的代码

- (IBAction)closeFun:(id)sender {

  //   self.popoverPresentationController set

[self dismissViewControllerAnimated:YES completion:nil];
    // [self dismis]

}

解决方法

每当弹出窗口被解除时,你不能在[NSUserDefaults standardUserDefaults]中保存突出显示的文本范围,并在弹出窗口重新出现时检索它吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐