更改设置后更新uiimageview

时间:2012-01-08 05:01:23

标签: iphone uiimageview

在我正在制作的应用程序的一个选项卡中,我有一个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];
}

1 个答案:

答案 0 :(得分:0)

您的问题是,每次viewDidAppear:运行时,您都会向滚动视图添加新的imageview。因此,现在您可以在旧图像上添加新图像。每次将视图放在屏幕上时(例如当您回到前台时)都会运行viewDidAppear:

您打算在viewDidLoad(对于nib文件视图)或loadView(非nib文件视图)中执行此操作。