当构建按钮或斜面,阴影或模式时,Bezier路径提供了一个强大并且灵活的解决方案。 看图4-1,两个截图都包括主要来自Bezier路径绘制的元素。
图4-1尽管这两个屏幕截图之间存在明显的视觉差异,但UIBezierPath
类主要负责了绘制这两个屏幕截图中的内容。
顶部屏幕截图来自音频采样应用程序。它的蓝色和白色图形及其黑色音频扫描是简单的路径实例,绘制为实线和虚线。这些线展示了传统的用例,其中每个路径跟踪一些模式。
底部截图使用了更复杂的效果。兔子的几何形状存储在单个Bezier路径中。围绕它的白色圆角矩形框架也是如此。此按钮顶部的渐变叠加被裁剪为基于贝塞尔曲线的椭圆。Bezier路径也建立了剪裁路径:其形状的外边缘,并定义了有限,微妙的外部发光效果以及内部3D斜角。
虽然两个截图之间的结果截然不同,但图形后面的类是相同的。如果您计划将UIKit绘图合并到您的应用程序中,您将需要与UIBezierPath
类发展一个紧密和舒适的关系。
本文翻译自《iOS Drawing Practical UIKit Solutions》作者:Erica Sadun,翻译:Cheng Dong。如果觉得本书不错请购买支持正版:亚马逊购买传送门,本书所有源代码可在GitHub上下载。译者虽然力求做到信,达,雅,但是由于时间仓促加之译者水平十分有限,文中难免会出现不正确,不准确,词不达意,难于理解的地方,还望各位批评指正,共同进步,谢谢。转载请注明出处。