为什么在情节提要中看不到我的自定义视图的预览?

用户名

当应用程序在模拟器中运行时可以运行,但在情节提要中看不到预览,为什么?

Swift代码:

模拟器和情节提要:

无法看到自定义视图的背景色,并且当将UIButton对象拖到自定义视图中时,也看不到真实位置(x,y)及其背景色。

在Android Studio中,当您在layout.xml文件中添加一个对象(自定义视图)时,您会自动看到预览,是否可以在Xcode中执行相同的操作?

拉蒙·维森特(Ramon Vicente)

TL; DR; 调用prepareForInterfaceBuilder

// Call The Custom Setup Here
override func prepareForInterfaceBuilder() {
    setupView()
}

layoutSubviews中调用也可以,但是在运行时被多次调用,prepareForInterfaceBuilder仅针对Designables Changes进行调用,并且仅出于此目的。

长码:

@IBDesignable
class CustomView: UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
        setupView()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setupView()
    }

    override func prepareForInterfaceBuilder() {
        setupView()
    }

    func InitChildPosition() {
        var i = 1
        for _view in self.subviews {
            if _view is UIButton {
                _view.center.x = (_view.bounds.width / 2)
                _view.center.y = (_view.bounds.height / 2)
            }

            if _view is UIButton && i == 2 {
                _view.center.x = self.bounds.width - (_view.bounds.width / 2)
                _view.center.y = self.bounds.height - (_view.bounds.height / 2)
                _view.backgroundColor = UIColor.darkGray
            }
            i += 1
        }
    }

    func setupView() {
        self.backgroundColor = UIColor.black

        InitChildPosition()
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在子组件中看不到我的自定义主题

为什么在cloudboost中看不到我的表?

为什么我在我的表中看不到我的 JSON 数据?

为什么我在 Fabric 中看不到我的 android 应用程序图标?

为什么我在Chrome中看不到我的HTTP标头?

为什么我在Docker容器中看不到我的文件?

为什么我在本地存储中看不到我上次点击的值?

为什么我在Python中看不到我的mp3文件?

为什么我在RAM中看不到我的文件?

为什么在VM中看不到我的内部网络?

为什么Sass在Express应用程序中看不到我的.scss文件?

为什么Perl在工作的Windows目录中看不到我的文件?

为什么在XML Android Studio中看不到我的设计?

为什么在图库中看不到我拍摄的照片?

为什么在ps程序输出中看不到我的脚本?

我的情节提要中看不到Interface Builder对象(并且标题是透明的)

python os.getenv()从Jupyter笔记本(os x el capitan)中看不到我的任何自定义变量

为什么我在 Microsoft Visual Studio 2019 中看不到设计器视图?

为什么我在gdb backtrace中看不到行号?

为什么我的GridView对象在代码中看不到?

为什么我看不到我的GrandTotal?

为什么我在图资源管理器中看不到我的Facebook朋友

Angular 5 - 为什么我在 Chrome 的调试器中看不到我所有的 TypeScript 模型?

为什么我的Objective C模块在Xcode 8中看不到我的Swift 3类?

为什么屏幕看不到我的别名?

为什么看不到我创建的菜单?

为什么在Windows 7安装过程中看不到我的USB驱动器?

tinymce在ebrian.js视图中看不到我的文本区域

为什么在android studio中看不到该图像的预览?