Swift 脚本中不显示可设计视图

Swift 脚本中不显示可设计视图,swift,uiview,ibdesignable,Swift,Uiview,Ibdesignable,我想自定义一个5星UIView,也希望它在情节提要中渲染。所以我决定使用@IBDesignable和@IBInspectable import UIKit @IBDesignable class RatingView: UIView { override init(frame: CGRect) { super.init(frame: frame) setUpView() } required init(coder aDecoder:

我想自定义一个5星UIView,也希望它在情节提要中渲染。所以我决定使用@IBDesignable和@IBInspectable

import UIKit

@IBDesignable
class RatingView: UIView {

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

        setUpView()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        setUpView()
    }

    func setUpView() {

        let imageView = UIImageView(frame:CGRectMake(0, 0, 50,50))
        imageView.image = UIImage(named: "star")

        addSubview(imageView)
    }
}
然后在我的故事板中,我将UIView拉入画布,并将自定义类设置为我的自定义视图RatingView。编译器开始编译故事板文件,我只是等待自定义视图在画布中呈现。这是屏幕截图。

状态为“最新”,但视图尚未渲染。视图只是保持白色,我想看到的是添加到父视图中的图像。 当我使用UILabel而不是UIImageView时,标签在画布中呈现,而不是在UIImageView中呈现,如何在画布中呈现可爱的星形图像。(Images.xcsets有star.png文件)

使用UILabel而不是UIImageView

func setUpView() {

    let label = UILabel(frame: CGRectMake(0, 0, 50, 50))
    label.text = "text"
    addSubview(label)
}
结果:

我正试图做同样的事情。您需要将视图放在一个框架中。正如@Benson Tommy在评论中所说,请看WWDC 2014年第411期

以下是会话的链接:


这里是会话记录的链接:

尝试在
setUpView()
中设置框架,
UIView
的框架默认为0,0,但UILabel确实有效……你找到了吗?我也有同样的问题——只是故事板上的白色。我将文件所有者和自定义类设置为可设计类。上面说是最新的。但什么都没有显示。我认为问题在于,图像资源在设计时不可用,但在运行时,在WWDC2014中,有一个名为“interface builder中的新功能”(session411)的会话,讨论实时渲染,可能会帮助您解决此问题。感谢您的链接。情况不再如此。您不需要将它放在框架中。