При попытке добавить подпредставление drawRect не вызывается - PullRequest
1 голос
/ 28 ноября 2010

Я пытаюсь добавить подпредставление к моему основному виду. Вот соответствующий код из моего viewController:

- (void)viewDidLoad {
    [super viewDidLoad];
    MyUIViewSubclass* myView = [[MyUIViewSubclass alloc] init]; 
    [self.view addSubview:myView]; // self.view is a simple UIView
    [myView setNeedsDisplay];
}

drawRect в myView не вызывается.

Однако, если я использую MyUIViewSubclass в качестве основного представления для viewController (устанавливая его в Интерфейсном Разработчике), drawRect действительно вызывается.

Что мне нужно сделать, чтобы вызвать drawRect в моем subView?

Ответы [ 2 ]

7 голосов
/ 28 ноября 2010

В вашем подклассе вы должны использовать назначенный инициализатор для UIView:

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) 
    {
       //Implementation code...
    }
}
1 голос
/ 28 ноября 2010

Хорошо, разобрался. Не устанавливал рамку моего подпредставления.

...