1
我想創建簡單的自定義視圖並將其用於navigationItem.titleView。我的自定義視圖非常簡單,只有圖像視圖和標籤:[image] - [label]。我有xib文件,我已經定義了所有約束條件(兩個子視圖都對superview有約束 - 我想要子視圖的高度和寬度決定整個自定義視圖的高度和寬度)。問題是,當我從xib這樣實例化視圖時:自定義UIView作爲navigationItem標題
class func titleViewWithTitle(title: String, icon: UIImage?) -> TitleView {
let titleView = NSBundle.mainBundle().loadNibNamed("TitleView", owner: self, options: nil).first as TitleView
titleView.title.text = title
titleView.icon.image = icon
titleView.layoutSubviews()
return titleView
}
此視圖的大小不是由它的子項決定的。它具有在Interface Builder中手動設置的大小。我能做些什麼來強制視圖動態計算大小?
和偏離當然使用這個:)的快速變種 – 2015-02-09 15:07:22
偉大的,它的工作! – MichalMoskala 2015-02-09 15:24:26
我有想法:我可以實現'sizeToFits(size:CGSize)'並在該方法內返回方法'systemLayoutSizeFittingSize:UILayoutFittingCompressedSize'的結果。我試過這個,但是當我手工修改它的框架時,這個觀點更廣泛。你知道什麼是問題嗎? – MichalMoskala 2015-02-09 16:22:49