搜集知识

UIView

2016-05-13  本文已影响51人  PeterDywane

属性

基本属性

基本方法

构造方法

  1. init()无参构造方法 var aView = UIView()
  2. init(frame: CGrect) var bView = UIView(frame: CGrect)
  3. init?(coder aDecoder: NSCoder) var cView = UIView(coder: NSCoder)

区别

1.对于通过代码创建的自定义控件来说,一般有两种情况:

    var aView = UIView()
    aView.frame = CGRectMake(0,0,10,10)
    var bView = UIView(frame: CGRectMake(0,0,10,10))

2.如果是通过xib去创建自定义控件来说,则会去调用init?(coder aDecoder:NSCoder)方法

3.自定义控件最好的做法是

override init(frame: CGRect){
        super.init(frame: frame);
        prepareForView()
}

required init?(coder aDecoder: NSCoder){
    super.init(coder: aDecoder);
        prepareForView()
}

func prepareForView(){
    //初始化操作
}

layoutSubViews调用

import UIKit

class RedView: UIView {

    override func layoutSubviews() {

        super.layoutSubviews()

        pritn("call layoutSubVies method")

    }

}
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {

        super.viewDidLoad()

        let redView = RedView() //方式1

        let redView = RedView(frame: CGRectMake(0, 0, 200, 200))//方式2

        view.addSubview(redView)

    }
}

注意:

    let redView = RedView(frame: CGRectMake(0,0,100,100))
    redView.frame = CGRectMake(10,10,50,50)
上一篇下一篇

猜你喜欢

热点阅读