Собственные (custom) UIView, drawRect()
Создание собственного (custom) UIView нам нужна если:
- Нам надо нарисовать на экране что-что свое
- Нам надо обработать события (жесты) специальным образом, т.е. отличным от стандартного способа (например которым обрабатывается перетягивание для слайдера или нажатие для кнопки)
Итак, для рисования мы переопределяем метод
// // proSwift.ru // override func drawRect(rect:CGRect)
В данном случае rect — это параметр, которым можно пренебречь в работе. Он существует ради оптимизации.
Также следует помнить, что нельзя вызывать метод drawRect() напрямую. Следует послать сообщение системе, чтобы она перерисовала UIView
// // proSwift.ru // setNeedsDisplay () setNeedsDisplayInRect(regionThatNeedsToBeDrawn:CGRect)
Второй метод позволяет перерисовать только часть, которая задана regionThatNeedsToBeDrawn
Наличие drawRect стóит системе определенных ресурсов. Она думает, что она должна рисовать все, что находится в drawRect. Мы должны реализовать drawRect только, если мы действительно собрались в нем рисовать. Не нужно реализовывать drawRect, в котором не будет происходить рисование.
Добавить комментарий