在一個應用程序的選項卡之一,我有一個uiimageview這是uiscrollview的子視圖。我有一個包含開關的設置包,用於更改uiimage視圖的圖像,並且在多任務回到應用程序後,我遇到了圖像更新問題。圖像會改變,但當我縮小,然後我可以看到背景中的前一個圖像。這裏是我的代碼更新設置後更新uiimageview
- (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];
}
這裏有幾件事情已經錯了:1)不要從'viewDidAppear'方法調用'[super viewDidLoad]'。 #2)我沒有看到你在'viewDidAppear'方法中創建'imageView',所以不要在其中釋放'imageView'。 – 2012-01-08 05:07:20
確定然後,但是當我嘗試在更改首選項後立即縮小圖片時,仍然可以在後臺看到前一張圖片。是否將它放在viewdidar中更改偏好後更新視圖的正確方法,或者當我在viewDidLoad中完全關閉此 – slafor 2012-01-08 06:59:11