从 ViewController 访问 drawRect?

Posted

技术标签:

【中文标题】从 ViewController 访问 drawRect?【英文标题】:Accessing drawRect from ViewController? 【发布时间】:2012-02-13 00:54:31 【问题描述】:

我有一个带有 drawRect 方法的 UIView 子类。我的 viewController 使用了这个子类(我只是在 xib 中设置了它),所以 UIView 可以很好地在屏幕上绘制一个矩形。

现在,我想将存储在 viewController 中的一堆 CGRects 发送到我的 UIView drawRect 方法。

我不确定如何通过它们。有任何想法吗?谢谢。

【问题讨论】:

【参考方案1】:

您可以将属性添加到您的UIView 子类以存储CGRect,从您的UIViewController 设置它们,然后从您的UIViewController 调用[self.view setNeedsDisplay];

【讨论】:

嗨,我将如何访问 UIView 子类?我没有在 viewController 的任何地方实例化它。 您可以使用self.view访问视图控制器的视图 您好,我收到一个错误:“接收器类型 'UIView' 例如消息未声明带有选择器的方法...”。我想这意味着我的 viewController 不知何故没有使用正确的子类,尽管我在 xib 中设置了它。如何以编程方式设置它?还是其他选择?谢谢 好的,我想我明白了。我删除了 initWithXib。我将以编程方式创建子类并设置 self.view = subclass。谢谢

以上是关于从 ViewController 访问 drawRect?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 viewController 访问 applicationDidEnterBackground

从 ViewController 访问 drawRect?

使图像可从其他 ViewController 访问

如何从 appDelegate 访问每个 ViewController?

无法从模态 ViewController 访问 UITabBarController

Swift - 从viewController访问AppDelegate窗口