我有一个显示项目的 MasterViewController。选择一个项目 (ItemA),在 DetailViewController 中显示 ItemA 的图像。DeutilViewController 包含一个滚动视图,显示所有图像。
当调用 tableView:didSelectRowAtIndexPath 时,图像被添加到 UIImageView,它被标记并作为子视图添加到滚动视图。
NSUInteger i;
for (i = 1; i <= numberOfImages; i++)
{
NSString *imageName = [ItemAImages objectAtIndex:i-1];
UIImage *image = [UIImage imageNamed:imageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.tag = i;
[scrollView addSubview:imageView];
}
工作正常。但是当我回到 MasterViewController 并选择一个 ItemB 时,仍然显示 ItemA,就像 iPhone 模拟器拒绝忘记先前包含 ItemA 图像的滚动视图一样。我试过了
for(UIView *subview in [scrollView subviews])
{
[subview removeFromSuperview];
}
这导致根本没有滚动视图,或者没有效果。取决于何时调用此方法。如何“重置”下一个项目的滚动视图?