2017年3月10日 星期五
UIView
Closure 可以在你建立變數的時候,直接設定變數的屬性
原本是
let myView:UIView = UIView()
變成
let myView:UIView =
{
let view = UIView()
( 直接設定view的屬性 )
return view
}()
------------------------- Separate Line -------------------------
在 Xcode 裡,你要建立一個UIView,必須在viewDidLoad寫入下面這些程式碼
viewDidLoad()
{
let myView = UIView()
myView.backgroundColor = UIColor. blueColor()
myView.translatesAutoresizingMaskInfoConstraints = false
myView.layer.cornerRadius = 5
myView.layer.masksToBounds = true
view.addSubView(inputsContainerView)
myView.centerXAnchor.constraint( equalTo:view.centerXAnchor ).isActive = true
myView.centerYAnchor.constraint( equalTo:view.centerYAnchor ).isActive = true
myView.widthAnchor.constraint( equalTo:view.widthAnchor , constant:-24 ).isActive = true
myView.heightAnchor.constraint( equalToConstant:150 ).isActive = true
}
如果用 Closure 的方式寫,你就可以把這些程式碼從 ViewDidLoad 裡除去
將下面程式碼寫在 viewDidLoad 外面
let myView:UIView =
{
let view = UIViiew()
view.backgroundColor = UIColor. blueColor()
view.translatesAutoresizingMaskInfoConstraints = false
inputsContainerView.layer.cornerRadius = 5
inputsContainerView.layer.masksToBounds = true
return view
}()
func setupInputsContanerView()
{
inputsContainerView.centerXAnchor.constraint( equalTo:view.centerXAnchor ).isActive = true
inputsContainerView.centerYAnchor.constraint( equalTo:view.centerYAnchor ).isActive = true
inputsContainerView.widthAnchor.constraint( equalTo:view.widthAnchor , constant:-24 ).isActive = true
inputsContainerView.heightAnchor.constraint( equalToConstant:150 ).isActive = true
}
最後你的 ViewDidLoad 最變成下面這樣
viewDidLoad()
{
view.addSubView(inputsContainerView)
setupInputsContainerView()
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言