gpt4 book ai didi

ios - 如何在 Swift 中从其 ViewController 获取 UIView 子类实例

转载 作者:行者123 更新时间:2023-11-28 06:17:34 25 4
gpt4 key购买 nike

对于这个基本问题,我提前表示抱歉,我只是很难找到答案。我有一个 View 类,它是 UIView 的子类,并且有一些基本方法,显然是 draw() 和其他方法。在我的 Main.storyboard 中,我添加了一个 UIView 元素并将其类属性设置为我创建的这个 View 类。类是这样的:

class KeyboardView: UIView {
// local variables ...

override function draw(_ rect: CGRect) {
...
}

class changeKord() {
...
}

// other methods ...
}

我想从我的主 ViewController 类中引用在运行时实际创建的实例。当我为此 UIView 在代码中创建导出时,我需要实例化它,并且我无法访问类中的实例方法。有什么方法可以获取从 outlet 变量创建的实际实例吗?还是我遗漏了什么?

我所做的是在 KeyboardView 类型的 View Controller 类之外创建一个全局变量,并在 KeyboardView 子类的 draw 方法中将该全局变量设置为 self,这样我就可以直接引用该实例。哪个有效,但看起来真的很老套。有没有办法偶然从 IBOutlet 引用中获取实例?

最佳答案

Screenshot 1 - Test project Screenshot 2 - Property inspector

我刚刚将这个简单的示例放在一起,请注意屏幕截图中的 IBOutlet 具有一种 CustomView。

我所做的是在 Storyboard中添加 UIView,然后将属性检查器中的类更改为 CustomView,然后创建 IBOutlet。这随后使用了正确的类型,因此我可以引用 View 的自定义属性和函数。

如果您之前创建了 socket 类型,您可以更新 socket 中的类型,只要它与属性检查器中的类匹配即可。

关于ios - 如何在 Swift 中从其 ViewController 获取 UIView 子类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44722420/

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