iOS 7 UITextView:重新打开应用程序后 nstextattachment 的大小变为 2 倍

2024-03-18

我正在使用 ios7 中的文本工具包构建一个笔记编辑器。早些时候,我在渲染自定义大小的 NSTextAttachment 时遇到了麻烦,因为它在很大程度上减慢了渲染速度。我通过缩放图像然后将它们添加到 textview 解决了这个问题。您可以在中找到我的答案iOS 7.0 UITextView 添加图像后变得非常慢 https://stackoverflow.com/questions/23026975/ios-7-0-uitextview-gettings-terribly-slow-after-adding-images-to-it缩放图像后,textview 渲染运行良好,没有任何延迟。textview 的属性文本存储在核心数据中。在应用程序运行会话期间,textview 正确显示图像。即使在将属性文本保存在核心数据中并检索它之后再次在文本视图上显示,图像看起来不错。但是在终止应用程序并再次运行应用程序后。图像放大到 2 倍大小。在缩放图像时,我使用以下函数并使用 [[UIScreenbounds]scale] 来维护图像质量。

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {

     UIGraphicsBeginImageContextWithOptions(newSize, NO, [UIScreen mainScreen].scale);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

如果我将图像缩放到 1.0,图像不会扩展,但图像质量非常差。

我认为问题出在哪里?问题出在布局管理器上。

What I have Tried I have tried subclassing the NSLayoutManager and overriding the - (void)drawGlyphsForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)origin What I see is the attachment size is doubling when running a new session of the application.If I try to check the size of attachment and resize it.The lag starts coming again. I am stucked with this problem from a quite time.Any suggestions would be much appreciated. enter image description here enter image description here


难道是视网膜显示的原因?如果是视网膜,您可能需要在存储之前将尺寸缩小 50%。试试这个怎么样:-

 //Original Size that you want to store
CGSize imageSize = CGSizeMake(320.0f, 320.0f);

//Make the image 50% of the size for retina
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&([UIScreen mainScreen].scale == 2.0)) {
    // Retina display
    imageSize = CGSizeMake(160.0f, 160.0f);
}

UIImage * storeImage = [self imageWithImage:self.image scaledToSize:imageSize]
//TODO: Store this image locally or whatever you want to do.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 7 UITextView:重新打开应用程序后 nstextattachment 的大小变为 2 倍 的相关文章

  • 如何完全禁用 UITextView 的滚动?

    我正在使用 UITextView 为 iPad 开发一个简单的文本编辑应用程序 我在使用 UIScrollView 和 UITextView 时总是遇到一些问题 我想我对这两个人的期望太高了 当我将 myTextView text 设置为另
  • 如何阻止UITextView进入时向上滚动

    我有一个UITextView包含在一个UITableViewCell 最初显示视图时布局是正确的 但是一旦我单击UITextView它会自动向上滚动一点 第一行的上半部分字符变得不可见 这张图是当UITextView不活跃 UITextVi
  • iOS7自定义ViewController转场和顶部布局指南

    我在我的应用程序中实现了自定义 UIViewController Transition 它取代了推送动画中内置的导航控制器 到目前为止 一切正常 除了新推送的视图控制器中的 toplayoutguide 为 0 尽管新视图控制器继承了旧视图
  • 尝试以紧凑模式访问 UITextView 时 iMessage 扩展程序崩溃

    下面是我在 iMessage 应用程序中的完整代码 class MessagesViewController MSMessagesAppViewController IBOutlet weak var messageView UITextV
  • 使用 iOS 7 SDK 构建时 UITextView 会自动换行

    我有一个UITextView里面一个UIScrollView效果很好iOS 6建造自xcode 4 x 但是现在构建xcode 5它无法正常工作 即使在iOS 6 问题是文本会随着屏幕宽度换行 即使UITextView and UIScro
  • 将默认的 InteractivePopGestureRecognizer 扩展到屏幕边缘之外?

    我有一个UIViewController被推送到导航堆栈上 我想扩展标准的 iOS7 交互式平移手势 以将此视图控制器弹出到默认值之外UIRectEdgeLeft边界 以便用户可以通过从视图上的任何位置平移来启动交互式后退操作 我尝试过滚动
  • 当用户点击 iPhone 屏幕上的任意位置时,iOS7 中的 UIActionSheet 会消失

    我注意到在iOS 7 a UIActionSheet automatically dismisses when a user taps anywhere on the screen on an iPhone iOS 6 中并非如此 并且会导
  • UIModalTransitionStylePartialCurl 在 iOS 8 上消失

    我试图向我的 ViewController 展示 UIModalTransitionStylePartialCurl 转换 我正在使用以下代码 PuzzleViewController vc PuzzleViewController all
  • iOS topLayoutGuide 使用子视图控制器 iOS 7 和 iOS 8 之间的差异

    基本上我正在尝试解决与此相同的问题question https stackoverflow com questions 19140530 toplayoutguide in child view controller正在问 但是 当我在 i
  • UITextView突出显示的文本颜色或类似的选项?

    我有一个习惯UITableViewCell with a UILabel and a UITextView in it 我希望当用户突出显示时 这两个文本都显示为白色UITableViewCell 显然设置起来非常简单highlighted
  • iPhone - UITextView 应该看起来像 UITextField

    我需要一个文本字段 以便用户可以编写多行 不幸的是 UITextField 不提供多行 所以我想我必须使用 UITextView 但两者的设计并不相同 是否可以像 UITextfield 标准一样设计具有白色背景和圆角的 UITextVie
  • UITextView 格线背景但行高错误

    我有一个 UITextView 用户可以在其中创建注释并保存到 plist 文件中 我希望能够像普通笔记本一样显示线条 我遇到的问题是 文本无法正确对齐 下图很好地解释了这个问题 This is the background I use t
  • 如何使 UITextView 像 Notes 应用程序一样使用文本展开

    如何使 UITextView 随其内部的文本展开 你可以试试这个 UITextView textView your UITextView NSString text the text that you want to place in th
  • iOS7 无法隐藏状态栏

    我刚刚将我的 iPhone 5 iOS 7 升级到了四个测试版 现在 当我在这台 iPhone 上通过 Xcode 5 运行我的应用程序时 状态栏不会隐藏 尽管它应该隐藏 不工作 UIApplication sharedApplicatio
  • 从堆栈弹出后重新出现 UITableViewCellSeperator 的问题

    我有一个将动态数据加载到表视图中的应用程序 当只有一项时 因此只有一个单元格 为了确保 UITableViewCellSeperator 没有显示这一项 我使用以下代码 CGFloat tableView UITableView table
  • 缺少常规选项卡

    我刚刚切换到使用 Xcode 5 我已经用一些需要更改的其他设置更改了我的应用程序的名称 但是当我执行此操作时 我注意到我的 常规 选项卡丢失了 有谁知道为什么会发生这种情况 只是快速更新如何在 Xcode 8 中执行此操作
  • 在后台任务中安排通知

    我正在为 iOS 开发一个日历 闹钟应用程序 它与网络服务器同步 当在服务器上添加活动时 会发出推送通知 以便 iOS 客户端可以获取新数据 并根据需要更新和安排下一次警报的时间 本地通知 但这仅在应用程序在客户端打开时才有效 我希望客户端
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • UITabBarController 未选择的图标图像色调

    我有一个 UITabBarController 我正在尝试修改 现在 未选择的选项卡图标图像默认为灰色 我知道您无法以编程方式更改这些未选择的图标图像的色调 苹果表示 色调是由 png 文件本身的实际色调控制的 因此 如果您想要白色或绿色图
  • iOS7状态栏和导航栏问题

    我正在将我的应用程序迁移到 iOS 7 为了处理状态栏问题 我添加了以下代码 if UIDevice currentDevice systemVersion floatValue gt 7 0f CGRect frame self navi

随机推荐

  • 最小宽度布局。 Nexus 7 中的错误?

    使用layout swdp 限定符时 我得到的结果如附件中所示 sw 限定符应该意味着最小尺寸必须匹配或大于限定符 这似乎不适用于 Nexus 7 运行 4 2 1 我是否对最小宽度限定符的作用感到困惑 或者 N7 报告错误 为了重现我的测
  • Nuxt3 useAsyncData 无法在已安装的生命周期挂钩上工作

    我仍然对我在这里做错了什么感到有点困惑 本质上我有一个 vue 组件 我想在安装元素后异步加载一些数据 我正在使用 NUXT 3 和组合 API 看起来 onMounted 在渲染之前触发 并且没有正确接收数据 如果我将
  • 如何避免课堂自用

    我有以下课程 public class MyClass public void deleteOrganization Organization organization Delete organization Delete related
  • 为什么 ImageIO.read() 这么慢?

    所以我试图从流中获取 PNG 图像 image ImageIO read inputStream 这段代码运行了十秒钟 我认为问题出在缓慢的InputStream上 所以我尝试先将它加载到缓冲区中 byte bytes inputStrea
  • 如何使用JS通过更改另一个字段值来自动更改一个输入字段值

    有两个输入字段total amount delivery charge total amount字段已经有一个值 现在我希望当我输入一些值时delivery charge字段将改变total amount字段的值 Suppose total
  • 如何清除powershell中的变量内容

    我昨天刚开始学习powershell powershell 非常新 我创建了很多变量用于测试目的 以下是我关于变量的问题 如何列出我之前创建的所有变量 那么如何清除变量的所有内容呢 如何移除 删除变量 如何列出我之前创建的所有变量 这会获取
  • Golang:如何创建未知(动态)地图长度

    我可以通过创建 静态 地图 type m map int map int map int bool 但 键 的长度是动态的 unknown len m 1 2 3 4 2 0 true or unk len m 1 2 3 4 true 我
  • 在 Android Kotlin 中查找日期之间的天数差异

    所以 我已经在 google 上搜索 其中大多数使用 Java 有一个使用 Kotlin 并且经常使用与我使用的时间格式不同的时间格式 yyyy mm dd HH mm ss 所以我尝试编码并卡住了 所以 这是代码 import java
  • Spark中使用Map替换列值

    我必须将列列表映射到 Spark 数据集中的另一列 想像这样 val translationMap Map Column Column Map lit foo gt lit bar lit baz gt lit bab 我有一个像这样的数据
  • 如何在R中将时差转换为分钟?

    我有以下程序 timeStart lt Sys time timeEnd lt Sys time difference lt timeEnd timeStart anyVector lt c difference 最后我需要将该数据放入向量
  • 类方法作为 scipy.optimize.curve_fit 的模型函数

    说明书上有这样一句话curve fit that 模型函数 f x 它必须将自变量作为第一个参数 并将参数作为单独的剩余参数进行拟合 但是 我想使用该类的方法作为模型函数 其定义为 def model fun self x par 因此 如
  • 在 WPF 中重复背景画笔

    谢谢你 这个问题与这里这个古老的 未解答的问题非常相似 如何将类似笔记本的线条绘制为 TextBox 背景 https stackoverflow com questions 4041642 wpf how to paint noteboo
  • 带有参数列表的简洁查询

    我正在尝试使用 Dapper 运行带有一组已知参数的查询 但带有这些参数的值列表 我想做的一个简单的例子是 DateTime endDate DateTime Now DateTime startDate endDate AddHours
  • 为什么处理多个异常需要元组而不是列表?

    考虑以下示例 def main list error type try if error type runtime raise RuntimeError list error if error type valueerror raise V
  • 如何在slickgrid中进行多列分组?

    我是 slickgrid 的新手 我已经浏览了一些 slickgrid 的例子 并且基础知识很好 我有一个场景 我需要基于多列进行分组 但 slickgrid 分组是基于单列 如何在 slickgrid 中完成多列分组 并在每个组上具有展开
  • Javafx 中的动态条形图

    您好 我正在尝试创建显示字段值的条形图 字段值通过排序算法更改 图表应显示任何更改 public class FXMLDocumentController implements Initializable static int pole n
  • 在 Android 设计库中使用 TabLayout 的带有图标的选项卡

    我正在尝试使用 android 设计库中的新 TabLayout 来创建仅包含图标的应用程序栏 like this 我该如何使用新的 TabLayout Android 设计库来做到这一点 有没有一个简单的解决方案 或者我只能使用 setC
  • 使用JuMP时如何转换变量的类型

    我正在使用 Julia JuMP 来实现算法 在一部分中 我定义了一个具有连续变量的模型并求解线性模型 我做了一些其他计算 在此基础上向模型添加了一些约束 然后我想用整数变量来解决相同的问题 我无法使用convert 函数 因为它不带变量
  • Chrome 开发工具和 Genymotion Android 模拟器

    参考 Genymotion 如何使用 Chrome 开发工具进行调试 https stackoverflow com questions 21627328 genymotion how to debug with chrome dev to
  • iOS 7 UITextView:重新打开应用程序后 nstextattachment 的大小变为 2 倍

    我正在使用 ios7 中的文本工具包构建一个笔记编辑器 早些时候 我在渲染自定义大小的 NSTextAttachment 时遇到了麻烦 因为它在很大程度上减慢了渲染速度 我通过缩放图像然后将它们添加到 textview 解决了这个问题 您可