在我正在制作的应用程序的一个选项卡中,我有一个uiimageview,它是uiscrollview的子视图。我有一个带有开关的设置包来更改uiimage视图的图像,并且在多任务处理回到应用程序后我的图像更新有问题。图像会改变,但当我缩小时,我可以看到背景中的上一个图像。这是我的代码
- (void)viewDidAppear:(BOOL)animated
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL enabled = [defaults boolForKey:@"enableWinterSchedule"];
if (enabled) {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"WinterSchedule.png"]];
self.imageView = tempImageView;
} else {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"FallSpringSchedule.png"]];
self.imageView = tempImageView;
}
scrollView.contentSize = CGSizeMake(imageView.frame.size.width , imageView.frame.size.height);
scrollView.maximumZoomScale = .75;
scrollView.minimumZoomScale = .37;
scrollView.clipsToBounds = YES;
scrollView.delegate = self;
[scrollView addSubview:imageView];
scrollView.zoomScale = .37;
[super viewDidLoad];
[imageView release];
}
答案 0 :(得分:0)
您的问题是,每次viewDidAppear:
运行时,您都会向滚动视图添加新的imageview。因此,现在您可以在旧图像上添加新图像。每次将视图放在屏幕上时(例如当您回到前台时)都会运行viewDidAppear:
。
您打算在viewDidLoad
(对于nib文件视图)或loadView
(非nib文件视图)中执行此操作。