我創建UIKit
對象編程,如UIButton
,UIView
,UILabels
等
有時候,我需要使用具有相同的屬性多次同樣的觀點。,呼叫對象的UIKit多次
例子:
如果我需要創建一個textField
周圍的邊框線,我創建的UIView
一個實例:
let textFieldTopViewSeparator: UIView = {
let view = UIView()
view.backgroundColor = UIColor.gray
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
然後,設置它的約束:
func textFieldTopViewSeparatorConstraints() {
textFieldTopViewSeparator.heightAnchor.constraint(equalToConstant: 1).isActive = true
textFieldTopViewSeparator.topAnchor.constraint(equalTo: self.textField.topAnchor).isActive = true
textFieldTopViewSeparator.widthAnchor.constraint(equalTo: self.textField.widthAnchor).isActive = true
textFieldTopViewSeparator.centerXAnchor.constraint(equalTo: self.textField.centerXAnchor).isActive = true
}
並致電viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(textFieldTopViewSeparator)
textFieldTopViewSeparatorConstraints()
}
這隻會在textField
的頂部創建一個邊界,然後創建一個底部有一個,我需要建立另一種觀點,給它的約束,並在viewDidLoad()
再次打電話給他們所以我的問題是,有沒有辦法只創建一個視圖的實例,並多次使用它與不同的約束?即使以不同的方式來創建視圖。
如果要添加兩個標籤,那麼你需要創建兩個'UILabel'實例。 – rmaddy
但是,在1視圖控制器中創建相同實例的那種冗餘可能是6次。 – MEnnabah
爲什麼?你需要獨特的實例。一個視圖只能有一個框架。 – rmaddy