像UITabBarController一样创建自定义关系@IBOutlet

问题描述 投票:0回答:1

我认为没有办法做到这一点,但我想知道是否有可能以某种方式创建@IBOutlet作为一种关系,有点像你可以将一堆viewControllers连接到UITabBarController

我尝试添加

@IBOutlet var controllers: [UIViewController]?

到我的VC,但不出所料,IB不会让我在其他场景中将这个插座连接到VC。

注意:我不是在寻找变通方法,我知道我可以使用storyboard?.instantiateViewController()等,这就是我正在做的事情。但是能够点击拖动是很酷的,这就是为什么我想尝试这样做。谢谢。

ios swift interface-builder iboutlet
1个回答
0
投票

我不确定是否可以让1个插座显示UIViewControllers列表,但是,您可以选择使用您的代码获得类似的行为:

var registeredControllers:[UIViewController] = []
// Base Class
class RegisterableViewController: UIViewController{
    override func viewDidLoad() {
        registeredControllers.append(self)
    }
}
// Used in your UI Code
class ViewController1:RegisterableViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        //Initialize UI
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.