Как вызвать drawRect программно в объективе c
Как вызвать drawRect программно в объективе c?
Я хочу вызвать метод drawrect для представления в моем UItabbarcontroller. Как я могу это сделать? Спасибо заранее.
Изменить
Мне нужно позвонить, когда вид не отображается в настоящее время. Я впервые позвоню этому представлению
Ответы
Ответ 1
[myView.layer display];
Заставляет вид сразу рисовать.
[myView setNeedsDisplay: YES];
Заставляет просмотр перерисовывать в следующем цикле цикла событий.
Однако, если вам нужно позвонить ему, даже если он не отображается, я думаю, что что-то не так с дизайном вашего класса просмотра. Вы должны делать только рисование внутри drawRect: ничего другого. И если вы только рисуете, зачем это делать, когда представление не видно?
Ответ 2
setNeedsDisplay
Ответ 3
setNeedsDisplayInRect:
Ответ 4
Swift:
yourView.setNeedsDisplay()
или
yourView.setNeedsDisplay(newRect)
Ответ 5
view.layer.renderInContext(context: CGContext)
может отображать содержимое вашего представления в CGContext, например. растровое изображение.
view.snapshotViewAfterScreenUpdates(afterUpdates: Bool)
дает моментальный снимок вида.