将排除路径添加到多个文本视图

2023-12-29

我正在尝试将多个排除路径添加到一系列UITextViews 依次布置在UIScrollView,像这样:

while (lastRenderedGlyph < self.manager.numberOfGlyphs) {
    CGRect textViewFrame = CGRectMake(currentXOffset, 10,
                                      width / 2,
                                      height - 20);
    CGSize columnSize = CGSizeMake(CGRectGetWidth(textViewFrame) - 20,
                                   CGRectGetHeight(textViewFrame) - 10);

    NSTextContainer *textContainer = [[NSTextContainer alloc] initWithSize:columnSize];
    [self.manager addTextContainer:textContainer];

    UITextView *textView = [[UITextView alloc] initWithFrame:textViewFrame
                                               textContainer:textContainer];
    textView.scrollEnabled = NO;
    textView.editable = NO;
    textView.dataDetectorTypes = UIDataDetectorTypeAll;
    textView.delegate = self;
    textView.selectable = YES;

    UIImageView *goat = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"goat"]];
    [goat setContentMode:UIViewContentModeScaleAspectFit];
    goat.frame = CGRectMake(0.0, 0.0, 50.0, 50.0);

    [textView addSubview:goat];

    [self.scrollView addSubview:textView];

    textView.textContainer.exclusionPaths = @[[UIBezierPath bezierPathWithRect:CGRectMake(0.0, 0.0, 50.0, 50.0)]];

    currentXOffset += CGRectGetWidth(textViewFrame);

    lastRenderedGlyph = NSMaxRange([self.manager glyphRangeForTextContainer:textContainer]);
}

但是,这会导致应用程序冻结,我已将问题追溯到每个应用程序上的排除路径的设置NSTextContainer。例如,如果我没有设置排除路径,它就可以正常工作。重要的是,如果我只在第一个上设置排除路径NSTextContainer,然后一切正常 - 但任何超过一个,应用程序就会冻结。我做错了什么,或者这是一个错误?


我想回想起来,这是显而易见的,但我得出的解决方案是为每个新的添加排除路径NSTextContainer分配容器后立即但是before做任何其他事情。 IE。

NSTextContainer *textContainer = [[NSTextContainer alloc] initWithSize:columnSize];
textContainer.exclusionPaths = @[exclusionPath];
[manager addTextContainer: textContainer];

而不是:

NSTextContainer *textContainer = [[NSTextContainer alloc] initWithSize:columnSize];
[manager addTextContainer: textContainer];
textContainer.exclusionPaths = @[exclusionPath];

这会导致应用程序变得无响应。

当你知道怎么做时就很简单。这仅适用于多列、多页面布局,您在其中创建多个文本容器和视图并分解字形以正确适应。如果您只向一个视图添加一条排除路径,似乎您可以在任何地方添加排除路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将排除路径添加到多个文本视图 的相关文章

  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • 在 IOS 上使用 AVComposition 混合两个音频文件

    我正在尝试混合两个音频文件 将一个音频文件放在另一个音频文件之上 不是缝合在一起 但我在 IOS 上学习 AVFoundation 时遇到了困难 我在这里遵循了这个答案 如何使用 AVMutableCompositionTrack 合并音频
  • 在 SwiftUI 中使用分段式选取器在两个页面之间滑动

    我有一个Picker with pickerStyle SegmentedPickerStyle 使其成为分段控件 我想让页面在之间平滑滑动 而不是使用条件语句替换视图 这是我迄今为止所做的 gif 这是到目前为止的代码 由if 而不是在不
  • 错误域=AVFoundationErrorDomain代码=-11814“无法记录”

    它不断给我错误 错误域 AVFoundationErrorDomain代码 11814 无法记录 我不确定问题是什么 我试图在拍照后计数器达到 1 时录制声音 static int counter counter will always b
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • SiriKit 错误:此应用程序不支持捐赠意图

    我在 Xcode 10 iOS 12 Beta 中捐赠自定义意图时遇到问题 我创建了一个在我的主应用程序目标和 OrderIntent 目标之间共享的自定义框架 我创建了一个 intentdefinition 文件 并将目标成员资格设置为我
  • 当强制退出/向上滑动以终止 iOS 应用程序而不点击横幅/警报时,如何获取推送通知有效负载?

    我正在构建一个应用程序来处理从 Parse 推送的通知 并尝试创建通知历史记录功能 我已经成功启用了后台模式 因此当应用程序在后台运行时 应用程序可以通过以下方式很好地获取有效负载application didReceiveRemoteNo
  • UICollectionView 拖放文件夹创建

    我正在使用 UICollectionView 创建 iOS 画廊应用程序 我希望用户能够拖放图像来重新排序图库并创建文件夹 类似于 iPhone 上的主屏幕 我发现了以下内容tutorial http nshint io blog 2015
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • NVActivityIndi​​catorView 仅适用于特定视图

    我正在使用这个库https github com ninjaprox NVActivityIndi catorView https github com ninjaprox NVActivityIndicatorView用于显示加载指示器
  • 指定访问组时出现 KeychainItemWrapper 错误

    相当长一段时间以来 我一直在使用 KeychainItemWrapper 的 ARC 版本成功读取和写入私有钥匙串项目 我现在正在努力将我的 iOS 应用程序转换为使用共享访问组 以便我的 2 个共享相同应用程序前缀的应用程序可以访问钥匙串
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 避免 UIImage 的 imageNamed - 内存管理

    我正在经历这个链接 http akosma com 2009 01 28 10 iphone memory management tips 我遇到了一个点避免 UIImage 的 imageNamed 出于什么原因我们应该避免这种情况 它会
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 苹果推送通知在生产中不起作用

    我们完全陷入困境 请帮忙 我和我的团队制作了一个 iPhone 应用程序 这是我们第一次在 iOS 上尝试 一切都很好 直到我们提交应用程序并在应用程序商店上可用为止 推送通知服务无法正常工作 我在网上搜索并尝试根据人们的建议仔细检查我们的

随机推荐

  • Flask 应用程序在 heroku 上失败,但与 foreman 一起工作

    我正在尝试使用 Heroku 部署一个相当基本的应用程序 并且之前已经成功 但由于某种原因 当我现在尝试时遇到导入错误 Foreman start 工作没有问题 但是当我尝试启动应用程序时 似乎发生了一些破坏导入的事情 这是我收到的日志消息
  • AngularJS 与 Django - 模板标签冲突

    我想将 AngularJS 与 Django 一起使用 但是它们都使用 作为他们的模板标签 有没有一种简单的方法可以更改两者之一以使用其他自定义模板标签 对于 Angular 1 0 您应该使用 interpolateProvider ap
  • 如何在keras中实现麦克劳林级数?

    我正在尝试使用麦克劳林级数来实现可扩展的 CNN 基本思想是第一个输入节点可以分解为具有不同阶数和系数的多个节点 将单个节点分解为多个节点可以生成与麦克劳林级数不同的非线性线连接 谁能给我一个关于如何扩展的可能想法CNN麦克劳林级数非线性展
  • Shopware 6:为产品创建继承的实体扩展

    我想在 Shopware 6 3 5 4 中创建产品扩展 我遵循本指南 https developer shopware com docs guides plugins plugins framework data handling add
  • ' aria-label='img 应该是 PIL 图像。得到'> img 应该是 PIL 图像。得到

    我试图迭代加载程序以检查它是否正常工作 但是给出了以下错误 TypeError img should be PIL Image Got
  • 从 Spring boot 1.2 升级到 1.5.2 后,Tomcat 8.5 启动期间出现 FileNotFoundException

    I upgraded Spring Boot从 1 2 0 到1 5 2 After那个升级 Tomcat8 5正在投掷文件未找到异常 during startup 下边是one of那些异常 它正在抛出超过 10个类似的例外情况 我不知道
  • 如何将 Android 测试设备添加到 Firebase?

    我正在将 Firebase 分析集成到我的 Android 应用程序中 但我无法在文档或谷歌中看到如何添加测试设备 因此它不依赖于统计数据 我测试了很多 所以如果计算我自己的事件 我的主要统计数据将被损坏 在admob我做 AdReques
  • IE 9 中框大小调整 border-box 和 min-width 的问题

    我正在使用盒子大小 边框框模型 当内联块元素与一个最小宽度包含在一个内联块元素 容器 容器在 Internet Explorer 9 中太宽 在 FF 10 0 Chrome 17 0 Opera 11 5 和 Safari 5 1 2 中
  • Caret::train - 未估算的值

    我试图通过将 knnImpute 传递给 Caret 的 train 方法的 preProcess 参数来估算值 根据以下示例 这些值似乎未进行估算 仍为 NA 然后被忽略 我究竟做错了什么 任何帮助深表感谢 library caret s
  • 使用 int dtype 进行 numpy 数组计算时出错(需要时无法自动将 dtype 转换为 64 位)

    当计算的输入是具有 32 位整数数据类型的 numpy 数组 但输出包含需要 64 位表示的较大数字时 我遇到了 numpy 计算不正确的问题 这是一个最小的工作示例 arr np ones 5 dtype int 2 24 300 arr
  • 检查数组是否为空[重复]

    这个问题在这里已经有答案了 我有以下代码 然而 empty error 仍然返回true 即使没有设置任何内容 有什么不对吗 数组中有两个元素 这绝对并不意味着数组为空 作为快速解决方法 您可以执行以下操作 errors array fil
  • 当可选项为空时如何返回?

    我喜欢那个选项 https docs oracle com javase 8 docs api java util Optional html现在在Java标准库中 但我一直遇到一个基本问题 我还没有弄清楚如何以最佳方式解决 最容易阅读和理
  • 强制网页适合网络视图

    我需要两件事 我需要显示一个显示整个网页 水平 的网络视图 并自动将其缩小到显示整个页面边缘到边缘所需的任何宽度 我很好奇如果这个 a 完全可以做到 b 如果是这样 我可以仅使用 WebView 或 c 如果我需要修改页面的 HTML 以挤
  • 创建两个连接表的数据库选择?

    我必须数据库表 课程 和 学生 课程表包含列 id course name course number 学生表包含列 学生姓名 学生编号 课程编号 我已经创建了课程表 但创建学生表时遇到问题 两个班级可能有相同的学生 因此相同的学生行将存在
  • 防止父级在子 div 中滚动

    当我滚动到孩子的底部时div the body元素开始滚动 我怎样才能防止这种情况发生 我只想要body当光标位于其上时滚动 例子 JsFiddle http jsfiddle net 5mmay 当然是通过添加一些 javascript
  • 将 Perl“die”和“warn”包装在实用程序子例程中

    我想编写一个小子例程 它可以以一致的方式装饰所有错误消息 而不必在我的程序中复制它 但是我希望行号来自调用它的地方 而不是来自调用它的地方die warn发生 在 C 中 我只使用预处理器宏 但 Perl 没有这些 实现这一点的最佳方法是什
  • 如何使用javascript触发文本框上的焦点事件?

    如何使用javascript触发文本框上的焦点事件 例如 在 jQuery 中 我们可以使用以下命令触发焦点事件 textBox focus 同样 我们在纯 JavaScript 中是否有类似的触发器功能 我最终不得不摆弄这个问题 并想出了
  • 图数据库中时间序列数据的序列聚合

    All 我是图形数据库领域的新手 想知道此类示例是否适用于图形数据库 假设我正在看一场棒球比赛 当每个球员击球时 有 3 种可能的结果 安打 三振或保送 对于每个击球手和整个棒球赛季 我想弄清楚的是序列的计数 例如 对于 N 次上垒的击球手
  • 在 PHP 中检索图像方向

    如何在 PHP 中获取图像 JPEG 或 PNG 的图像方向 横向或纵向 我创建了一个 php 网站 用户可以在其中上传图片 在将它们缩小到较小的尺寸之前 我想知道图像的方向如何才能正确缩放 感谢您的回答 我一直都是这么做的 list wi
  • 将排除路径添加到多个文本视图

    我正在尝试将多个排除路径添加到一系列UITextViews 依次布置在UIScrollView 像这样 while lastRenderedGlyph lt self manager numberOfGlyphs CGRect textVi