アイテムを表示するMasterViewControllerがあります。アイテム (ItemA) を選択すると、ItemA の画像が DetailViewController に表示されます。DetilViewController には、すべての画像を表示する scrollView が含まれています。
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 を選択すると、iPhone シミュレーターが ItemA の画像を含む以前のスクロールビューを忘れないように、ItemA がまだ表示されます。私が試してみました
for(UIView *subview in [scrollView subviews])
{
[subview removeFromSuperview];
}
その結果、スクロールビューがまったくないか、効果がありません。このメソッドがいつ呼び出されるかによって異なります。次のアイテムのスクロールビューを「リセット」するにはどうすればよいですか?