UIView — полезные свойства и методы

UIView — это прямоугольная область на экране, которая определяет пространство с системой координат. Служит для рисования в этой области и системе координат, а также для обработки событий «жестов».

//
// proSwift.ru
//

// view имеет только один superview 
var ​​superview: UIView? //вернет nil, если view не на экране

//view может иметь много (или нуль) subviews ... 
var subviews:[AnyObject]

Для массива subviews — массив AnyObject, однако мы можем привести все элементы к UIVew, чем они и являются.

Топом иерархии (используемого) view является свойство

var view: UIView​

используемого UIViewController

Инициализация UIView

//
// proSwift.ru
//

init(frame:CGRect)​// инициализатор, если UIView​ создается в коде, в котором frame задан в системе координат superview,​ в котором этот ​view​​собирается “жить”.
init(code:NSCoder)​// инициализатор, если UIView приходит со storyboard.

Если нужно переписать инициализатор, то необходимо реализовать оба, т.к. второй является обязательным. В setup() можно поместить собственные настройки

func setup {...}

override init frame:CGRect){​ //назначенный инициализатор
   super.init(frame: frame)
   setup()
}

required init(code aCoder:NSCoder) { ​//обязательный инициализатор
   super.init(code: aCoder)
   setup ()
}

Альтернативный инициализаторам способ

​//
// proSwift.ru
//

awakeFromNib ()​// метод вызывается только, если UIView​“приходит” со storyboard

Это не инициализатор (он вызывается сразу же, как только инициализация закончилась). Всем объектам на storyboard, которые наследуют от NSObject​, посылается это сообщение. Порядок не гарантируется, поэтому мы не можем в этом методе послать сообщения каким ­либо другим объектам на storyboard

Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.