我在從超級視圖中移除視圖時遇到問題。 添加視圖: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)不是通過子視圖搜索,而是使用'[UIView -viewWithTag:]'來獲得該視圖。 (3)如果您要刪除超級視圖(UILabel),則不需要刪除其子視圖。 –
我用另一種方法設置標籤。我無法刪除添加到數組中的視圖 – Dimitrio
'NSLog(@「targetTag:%d,subviewTags:%@」,label.tag,[array valueForKey:@「tag」])的結果是什麼?目標標籤是否實際包含在子視圖標籤中? –