У меня возникли проблемы с удалением вида из супервизора. Добавление вид:UIView не удаляется из супервизора
- (void)createCircles
{
NSString *currentDate = [self currentDate];
NSArray *array = [self.horizontalScroll subviews];
UILabel *label = nil;
for (label in array)
{
if ([label.text isEqualToString:currentDate])
{
UIView *view = [[UIView alloc] initWithFrame:label.frame];
view.backgroundColor = [UIColor redColor];
[self.horizontalScroll insertSubview:view atIndex:0];
[self.labelsArray insertObject:view atIndex:0];
}
}
}
Попытка удалить:
- (void)labelTouch:(UITapGestureRecognizer*)sender
{
NSArray *array = [self.horizontalScroll subviews];
UILabel *label = (UILabel*)sender.view;
for (int i = 0; i < [array count]; ++i)
{
UILabel *l = array[i];
if (label.tag == l.tag)
{
UIView *view = nil;
view = [self.labelsArray objectAtIndex:0];
view.hidden = YES;
[view removeFromSuperview];
view = nil;
[self.labelsArray removeObjectAtIndex:0];
}
}
}
Но после зрения сенсорного еще отображения. Пробовал удалить этикетку (l) - удаляется
(1), похоже, что вы ищете 'tag', но я не вижу, где вы устанавливаете его. (2) Вместо поиска через subviews вы можете просто использовать '[UIView -viewWithTag:]' для получения этого представления. (3) Если вы удаляете супервизор (UILabel), вам не нужно удалять его просмотры. –
Я устанавливаю тэг другим способом. Я не могу удалить представление, которое добавлено в массив – Dimitrio
. Что является результатом 'NSLog (@" targetTag:% d, subviewTags:% @ ", label.tag, [array valueForKey: @" tag "]);'? Является ли целевой тег фактически содержащимся в тегах subview? –