如何使用 Quartz 2D 绘制我的 ViewController
How to draw using Quartz 2D to my ViewController
这是一个初学者级别的问题。我继承了一个 iOS 项目,它是用几个 ViewController 和相关的 XIB 文件实现的。 XIB 文件包含各种由 ViewController 中的代码控制的小部件(我认为这是构建应用程序的标准方法)。
但是,我需要在小部件之间进行一些自定义绘图(矩形、线条、圆圈、文本),并且我想使用 Quartz 2D 库来执行此操作。我从未使用过 Quartz2D,我找到的大部分示例代码都以视图为中心,而不是 ViewController.
其中大部分似乎与实现视图的 "drawRect" 方法有关。但是,据我所知,我的 ViewController 没有 "drawRect" 函数。有没有办法在我的 ViewController 或它控制的任何视图上实现 "drawRect" 函数?
*** 附录:
我研究并提醒自己,可操作的 UIView 是 UIViewController 的一个 属性,而且 UIView 似乎是由应用程序自动创建并与我的 XIB 和 ViewController 捆绑在一起的(我想我们在创建 ViewController 时选择了 "also create XIB",所以 UIView 是隐含的?)。我看不到此默认 UIView 实例化发生的位置。但我假设绘制它的方法是将它子类化?
如果是这样,什么是 最干净 子类化此 UIView 并在保持与现有 ViewController 和 XIB(或故事板)的连接的同时访问 drawRect ?我继承了该项目,此更改需要影响较小。
感谢任何help/thoughts。
创建 UIView
的子类并覆盖 -drawRect:
以进行自定义绘图。在 xib 中,select 您的视图控制器的视图,转到身份检查器(Xcode 右侧栏中的第三个选项卡),并将 UIView
替换为您的自定义子类。
这是一个初学者级别的问题。我继承了一个 iOS 项目,它是用几个 ViewController 和相关的 XIB 文件实现的。 XIB 文件包含各种由 ViewController 中的代码控制的小部件(我认为这是构建应用程序的标准方法)。
但是,我需要在小部件之间进行一些自定义绘图(矩形、线条、圆圈、文本),并且我想使用 Quartz 2D 库来执行此操作。我从未使用过 Quartz2D,我找到的大部分示例代码都以视图为中心,而不是 ViewController.
其中大部分似乎与实现视图的 "drawRect" 方法有关。但是,据我所知,我的 ViewController 没有 "drawRect" 函数。有没有办法在我的 ViewController 或它控制的任何视图上实现 "drawRect" 函数?
*** 附录: 我研究并提醒自己,可操作的 UIView 是 UIViewController 的一个 属性,而且 UIView 似乎是由应用程序自动创建并与我的 XIB 和 ViewController 捆绑在一起的(我想我们在创建 ViewController 时选择了 "also create XIB",所以 UIView 是隐含的?)。我看不到此默认 UIView 实例化发生的位置。但我假设绘制它的方法是将它子类化?
如果是这样,什么是 最干净 子类化此 UIView 并在保持与现有 ViewController 和 XIB(或故事板)的连接的同时访问 drawRect ?我继承了该项目,此更改需要影响较小。
感谢任何help/thoughts。
创建 UIView
的子类并覆盖 -drawRect:
以进行自定义绘图。在 xib 中,select 您的视图控制器的视图,转到身份检查器(Xcode 右侧栏中的第三个选项卡),并将 UIView
替换为您的自定义子类。