Локальная переменная addSubView - PullRequest
0 голосов
/ 14 июня 2011

пример, если есть метод addLabel:

- (void)addLabel {
   for (NSInteger i = 0; i < 5; i ++) {
       UILabel *label = [[UILabel alloc] init];
       [label setText:@"label"];
       [[self view] addSubView:label];
       [label release];
   }
}

и метод вызывается при каждом нажатии кнопки. Нужно ли сначала удалить все метки из подпредставлений (removeFromSuperView :), прежде чем снова добавить addSubview?

Ответы [ 2 ]

0 голосов
/ 14 июня 2011

Да, вы должны удалить все предыдущие метки из суперпредставления, иначе они все будут добавлены над предыдущими существующими метками, поэтому новые метки не будут понятны.

0 голосов
/ 14 июня 2011

Во-первых, вы должны дать некоторую координату UILabel.Так что это может отображаться в нужном месте.

Для этого вы можете использовать следующую строку:

UILabel * lblTaskTitle = [[UILabel alloc] initWithFrame: CGRectMake (45.0, 5, 200.0, 35.0)];

ДругойДело в том, что будет лучше, если вы удалите другой ярлык.(Это не обязательно, но это хорошая практика).

Вы можете сделать это следующим образом:

    UILabel *lbl = nil;

    NSArray *Arraylbl = [self.view subviews];
    for (lbl in Arraylbl){
        if ([lbl isKindOfClass:[UILabel class]]){
            [lbl removeFromSuperview];
        }
    }

Надеюсь, это будет хорошо для вас.

Позвольте мнезнать в случае каких-либо затруднений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...