如何使用IBInspectable数据进行自定义搜索

时间:2019-03-15 09:27:49

标签: ios swift xib

我在自定义IBInspectable中使用了UIViewController,并且可以使用,我可以在界面构建器中修改值。

但是,当我在自定义IBInspectable中使用UIStoryboardSegue时,它不起作用,在接口生成器中看不到变量。

是否不可能在IBInspectable中使用UIStoryboardSegue,还是我做错了什么?

这是我的代码。

class EmbedSegue: UIStoryboardSegue {
    @IBInspectable var childLevel = 0
    override func perform() {
        var container:ContainerVC?
        if childLevel == 0 {
            container = source as? ContainerVC
        } else if childLevel > 0 {
            var target:UIViewController? = source
            for _ in 0..<childLevel {
                target = target?.children.first
                if target == nil {
                    break
                }
            }
            container = target as? ContainerVC
        } else if childLevel < 0 {
            var target:UIViewController? = source
            for _ in 0 ..< -childLevel {
                target = target?.parent
                if target == nil {
                    break
                }
            }
            container = target as? ContainerVC
        }
        guard let _container = container else {
            var vcName = Utility.className(source)
            if let name = source.nibName {
                vcName = name
            }
            print("Unable to perform embed from \(vcName) with child level \(childLevel)")
            return
        }
        _container.embed(destination)
    }
}

0 个答案:

没有答案