加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift IBDesignable视图不在故事板中显示

发布时间:2020-12-14 04:55:24 所属栏目:百科 来源:网络整理
导读:我想定制一个5星级的UIView,我也希望它能在故事板中呈现.所以我决定使用@IBDesignable和@IBInspectable.以下是我的代码. import UIKit@IBDesignableclass RatingView: UIView { override init(frame: CGRect) { super.init(frame: frame) setUpView() } requ
我想定制一个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,50,50))
        imageView.image = UIImage(named: "star")

        addSubview(imageView)
    }
}

然后在我的故事板中,我将UIView拉入我的画布,并将Custom类设置为我的自定义视图作为RatingView.编译器开始编译storyboard文件,我只是等待自定义视图在canvas中呈现.这是截图.

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

使用UILabel而不是UIImageView

func setUpView() {

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

结果:

解决方法

我试图做同样的事情.您需要将视图放在框架中.正如@Benson Tommy在评论中所说,看看2014年WWDC会议411.

以下是会话的链接:https://developer.apple.com/videos/wwdc/2014/#411

以下是会议记录的链接:http://asciiwwdc.com/2014/sessions/411

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读