8.3-文本属性 发表于 2017-03-23 iOS排版大部分内容是理解(文本的)属性。属性是一组功能,如字体选择或文本颜色,应用(绘制)于一定范围内的文本。属性字符串,顾名思义,添加特征来选择子字符串。每个属性字符串都包含应用于该字符串的源文本和范围的特定属性。要了解属性的工作原理,请参考图8-4。它显示一个添加了前景色和阴影属性的字符串。 ... 阅读全文 »
8.2-iOS 7的改变 发表于 2017-03-22 示例8-1中使用的drawAtPoint:withAttributes:方法是iOS 7的新功能。大多数较旧的字符串绘图方法(如drawAtPoint:withFont:)已被弃用(参见图8-2)。 布局管理者和动态文本等新技术在这个领域带来了革命。但是,您将看到,并不是所有的这些方法都可以直接进行 ... 阅读全文 »
8.1-绘制字符串 发表于 2017-03-21 在iOS中,很容易使用labels和text views来显示字符串。 但是,当你的文本作为较大布局或图形的组件时,是时候转移到直接地字符串绘制了。 这样做可以打开一个广泛,多样和强大的文本布局工具集,让您可以在上下文中添加字符串元素。 在谱的最简单的结尾,您可以通过告诉字符串来绘制文本自身。 dr ... 阅读全文 »
(第8章)绘制文本 发表于 2017-03-20 到目前为止,在这本书中,你已经看到了关于字符串的一些部分,但字符串没有形成讨论的焦点。 他们的故事,正如你在本章中将会发现的一样,远远超出了在绘图上下文中挑选的那一点:绘制一些文本或将一个字符串转换成贝塞尔(Bezier)路径。 本章深入学习文本,涵盖绘图,测量和布置字符串的技术。 8.1-绘 ... 阅读全文 »
(第7章)小结 发表于 2017-03-19 本章讨论蒙版,模糊和动画绘制内容的技术。 您阅读到了有关如何将边缘效果应用于选择区,羽化视觉效果以及在drawRect:例程中使用Core Image转换。 这里有一些总结思路: 无论您做什么样的绘图,分析应用程序的性能是开发过程的关键部分。 始终在开发计划中创建(留出)空间,以评估和调整渲染和动 ... 阅读全文 »
7.9-应用Core Image转换 发表于 2017-03-19 Core Image转换是另一个有价值的timer-meets-drawing解决方案。它们使您能够在源图像和目标图像之间创建序列,以便构建从一个到另一个过渡的栩栩如生的视觉效果。 您首先创建一个新的过渡过滤器,例如复制machine–style转换: transition = [CIFilter ... 阅读全文 »
7.8-绘制抽样数据 发表于 2017-03-18 还有许多其他应用程序将iOS绘图与display link定时器相结合。 其中最实用的方法之一就是从其中一个机载传感器进行数据采样。 图7-9显示了一个监视音频levels的应用程序。 在每个link回调中,它绘制一个UIBezierPath,显示最近的100个样本。 图7-9跟随时间抽取音频。 ... 阅读全文 »
7.7-构建行军蚁效果 发表于 2017-03-17 您刚刚阅读的display link技术也支持常规绘图更新。您可以使用这种方法进行许多动画效果。 例如,图7-8显示了一个常见的“行进蚂蚁”显示效果。 在这个界面中,浅灰色线条动画,围绕矩形选择区行进。 最初由Bill Atkinson为MacPaint在旧式Macintosh系列上开发,它被命名为 ... 阅读全文 »
7.6-创建绘图的Display Links 发表于 2017-03-16 视图可能需要随时间而更改内容。 他们可能会从一个图像转换到另一个图像,或提供一系列视觉更新来指示应用程序状态。 动画通过一个特殊的定时器类满足绘画。 CADisplayLink类为视图动画提供了一个定时器对象。 它触发刷新时钟同步到显示器的刷新率。 这使您可以在时钟上重绘视图。 您可以使用此时钟来生 ... 阅读全文 »
7.5-绘制反射 发表于 2017-03-15 绘制反射时,您可以绘制一个轻轻消失的倒影图像。 图7-6显示了这种常见的技术。 我添加了一个轻微的垂直间距,以突出显示原始图像在哪里结束以及反射的图像(在哪里)开始。 大多数绘制反射的图像使用这个间隙来模拟源图像和其下面的反射表面之间的高程差。 图7-6渐变使您可以(绘制)褪色反射。Public ... 阅读全文 »