UITextView中带有换行的exclusionPaths错误

 暖日春阳基_910 发布于 2023-01-04 10:22

当textView具有换行符时,exclusionPaths存在问题:

这是我的代码:

- (void)viewDidLoad
{
  [super viewDidLoad];
  UIView *view = [[UIView alloc] init];
  UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 333, 360, 480)];
  view.frame = CGRectMake(50, 0, 50, 50);
  view.backgroundColor = [UIColor blackColor];
  NSLog(@"%@", NSStringFromCGRect(view.frame));
  [textView addSubview:view];

  CGRect relativeRect = [textView convertRect:view.bounds fromView:view];

  UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRect:relativeRect];
  textView.text = @"asddsaadasddsasdasdjsdhfjkdhkjdhfgjkldhsgfjlk\n\nhfdsgjklhdfsljkghdklfjgshdgjklfshdfgjklhfglkjdshjklgfdshjklgdfshkljfdsghfjkldghlkjfdghskljgdfhslkjgdfshjklgfdshjkgfdshlkjgdfhskljdgfhsjklgdhsjklfgdshjkglfdshjklgfdshlkjfgdhjklgdfshjdfkslghkjfdlsghjkldsfghjkhdfsgkjlhjgkldfshgdflksjhfdksgjhdfkjlgshfkljdshgjkdfhskjglhdfsjkghdfkjglhdsfkjghkljdfhgkjlhdsfkjlghjkldsfghjklhgsfdjklhgsdfkjlghdsfklgfdhsklg";
  textView.textContainer.exclusionPaths = @[bezierPath];
  [self.view addSubview:textView];

}

结果如下:

问题在于换行符使exclusionPaths超出其应有的大小。在此处还描述了该问题:iOS 7 UITextView中的换行符打破了文本工具包排除区域的环绕,但它显示了如何使用Interface Builder创建UITextView时解决此iOS 7错误。如何以编程方式解决此问题?谢谢!

1 个回答
  • 因此要禁用的获胜属性是“ scrollEnabled”:

    textView.editable = NO
    textView.scrollEnabled = NO
    

    上面的代码解决了exclusionPaths的问题

    2023-01-04 10:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有