我想定製一個五星級UIView,我也希望它在故事板中呈現。所以我決定使用@IBDesignable和@ IBInspectable。以下是我的代碼。swift IBDesignable視圖不顯示在故事板
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.The編譯器開始編譯故事板文件,我只是等待被renderd自定義視圖在canvas.Here是截圖。
狀態是「最新的」,但視圖還沒有渲染。視圖只是保持白色,我想看到的是我添加到父視圖的圖像。 當我使用的UILabel代替的UIImageView,標籤renderd在畫布但不是UIImageView的,我怎麼能呈現我的畫布我可愛的明星形象。(Images.xcassets已star.png文件)
使用的UILabel代替的UIImageView
func setUpView() {
let label = UILabel(frame: CGRectMake(0, 0, 50, 50))
label.text = "text"
addSubview(label)
}
結果:
嘗試在你的'setUpView()'中設置框架,'UIView'的框架默認爲0,0 – zisoft 2014-11-06 12:31:06
但是UILabel確實工作... – tounaobun 2014-11-06 12:43:30
你知道了嗎?我有同樣的問題 - 在Storyboard中只有白色。我將文件所有者和自定義類設置爲可設計類。它說最新。但沒有出現。 – KML 2015-02-16 15:52:24