iOS UIBezierPath贝赛尔曲线详解

UIBezierPath是在画图,定制动画轨迹中都有应用。

UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装,所以是需要图形上下文的(CGContextRef),所以一般UIBezierPath在drawRect中使用。

本文主要介绍了iOS 贝塞尔曲线(UIBezierPath)属性、方法的相关详解资料,供大家参考,如有错漏,欢迎留言指正。

一、引入头文件:

 

1、Objective-C之Foundation框架

https://www.cnblogs.com/kenshincui/p/3885689.html

2、Core Graphics-Apple的矢量绘图框架

https://www.tuicool.com/articles/jaM7zmN

3、UIKitDefines-UIKit中的一些宏定义

https://www.jianshu.com/p/a0e0075a75fe

二、如果需要每个属性或每个方法都去指定nonnull和nullable,是一件非常繁琐的事。苹果为了减轻我们的工作量,专门提供了两个宏:

 

宏定义:Nonnull区域设置(Audited Regions)

在这两个宏之间的代码,所有简单指针对象都被假定为nonnull,因此我们只需要去指定那些nullable的指针。

三、按位掩码(bitmask)

注意:并不是枚举

 

按位掩码(NS_OPTIONS)的语法和枚举(NS_ENUM)相同,但编译器会将它的值通过位掩码 | 组合在一起。

四、系统库头文件中的宏定义:

 

NS_CLASS_AVAILABLE_IOS(3_2) :代表只可以在iOS3.2及以后的版本中使用,如果在比3.2更老的版本中调用这个方法,就会引起崩溃

 

NS_DESIGNATED_INITIALIZER :指定构造器,告诉调用者要用这个方法去初始化(构造)类对象。

正确使用NS_DESIGNATED_INITIALIZER

 

说明该方法返回的是一个对象的内部C指针

 

标记为 CF_RETURNS_RETAINED 或 CF_RETURNS_NOT_RETAINED。编译器在编译时会自动为他们加上内存管理相关的调用。

五、方法属性详解:

 
 
发布了49 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_29680975/article/details/102677096
今日推荐