Проверьте, отображается ли ваш вид.Если представление в данный момент не отображается на экране, drawRect
не будет вызываться, даже если вы добавите представление к его суперпредставлению.Возможно, ваше представление заблокировано каким-либо другим представлением.
И, насколько я знаю, вам не нужно писать [super drawRect]
;
Обратите внимание, что даже если viewDidLoad
вызывается на контроллере вида, это не обязательно означает, что вид контроллера вида отображается на экране.Пример: Предположим, что контроллер представления A имеет ивар, в котором хранится контроллер представления B, и в данный момент отображается представление контроллера A просмотра.Также предположим, что B выделен и инициирован.Теперь, если какой-то метод в A вызывает доступ к представлению B, viewDidLoad
в B будет вызван в результате независимо от того, отображается ли он.