我想定制一个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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。