gpt4 book ai didi

ios - 如何使用 Quartz 2D 绘制到我的 ViewController

转载 作者:行者123 更新时间:2023-11-29 02:18:48 24 4
gpt4 key购买 nike

这是一个初学者级别的问题。我继承了一个 iOS 项目,它是通过一些具有关联 XIB 文件的 ViewController 来实现的。 XIB 文件包含由 ViewController 中的代码控制的各种小部件(我认为这是构建应用程序的标准方法)。

但是,我需要在小部件之间进行一些自定义绘图(矩形、线条、圆形、文本),并且我想使用 Quartz 2D 库来执行此操作。我从未使用过 Quartz2D,而且我找到的大多数示例代码都是以 View 为中心,而不是 ViewController。

大部分似乎与实现 View 的“drawRect”方法有关。但是,据我所知,我的 ViewController 没有“drawRect”函数。有没有办法在我的 ViewController 或它控制的任何 View 上实现“drawRect”函数?

*** 附录:我已经研究并提醒自己,可操作的 UIView 是 UIViewController 的一个属性,而且 UIView 似乎是由应用程序自动创建的,并与我的 XIB 和 ViewController 捆绑在一起(我想我们在创建时选择了“也创建 XIB”一个 ViewController,所以 UIView 是隐含的?)。我不知道这个默认的 UIView 实例化发生在哪里。但我认为绘制它的方法是对其进行子类化?

如果是这样,最干净的方法是什么来继承此 UIView 并访问 drawRect,同时保持与现有 ViewController 和 XIB(或 Storyboard )的连接?我继承了该项目,并且此更改需要影响较小。


感谢您的帮助/想法。

最佳答案

创建 UIView 的子类并覆盖 -drawRect: 来执行自定义绘图。在 xib 中,选择 View Controller 的 View ,转到 Identity Inspector(Xcode 右侧边栏中的第三个选项卡),然后将 UIView 替换为您的自定义子类。

XCode screenshot

关于ios - 如何使用 Quartz 2D 绘制到我的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28417151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com