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

Я пытаюсь создать свой собственный подкласс UIView. Я поместил его в окно просмотра в Интерфейсном Разработчике, перетащив UIView, а затем указав имя моего подкласса в поле Class Identity. Все же мой UIView не рисует сам.

Здесь - в упрощенном примере - код моего подкласса UIView:

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super initWithCoder:aDecoder])
    {
        UILabel* label = [[[UILabel alloc] initWithFrame:self.frame] autorelease];
        label.text = @"Hello.";
        label.textColor = [UIColor whiteColor];
        [self addSubview:label];        
    }

    return self;
}

Я видел ссылку на переопределение drawRect:, но, честно говоря, я понятия не имею, что я буду делать в этом методе. Я уверен, что делаю что-то явно не так, но понятия не имею, что.

Любые предложения будут с благодарностью!

Спасибо.

1 Ответ

1 голос
/ 20 января 2010

Попробуйте использовать self.bounds вместо self.frame:

UILabel* label = [[[UILabel alloc] initWithFrame:self.bounds] autorelease];

Скорее всего, рамка вашего вида не находится в исходной точке {0 0}, что означает, что метка окажется за пределами видимой области вашего вида.

...