如何重置UIView的背景

时间:2012-07-26 10:13:36

标签: iphone objective-c ipad

将背景(图像)添加到我的UIView(View_0)后,我希望实现一个按钮来删除相同的背景。

我该怎么办?我试图设置一个不同的图像作为View_0的背景但这不起作用(我怀疑这个背景设置在“图像”后面)。

我不想使用

[View_0 removeFromSuperview];

因为我需要View_0仍然在那里用于其他目的....

//Create an ImageView
UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 940, 422)];;           

//Add the ImageView as the background of the View_0
[View_0 addSubview:image];
//Move custom image behind View
[View_0 sendSubviewToBack: image];

//Failed attempt to remove the background....
View_0.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"defaultImage.PNG"]];    

2 个答案:

答案 0 :(得分:1)

  //Create an ImageView
        UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 940, 422)];;  
        image.tag = 1234;         

        //Add the ImageView as the background of the View_0
        [View_0 addSubview:image];
        //Move custom image behind View
        [View_0 sendSubviewToBack: image];

        UIImageView *imgView = [self.view viewWithTag:1234];
        [img setImage:nil];

这应该是我认为

答案 1 :(得分:1)

您已将UIImageView添加到视图而不是视图的背景。所以当你实施

时会发生什么
View_0.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"defaultImage.PNG"]];

正在设置View的背景,但UIImageView现在位于View的顶部,这就是为什么没有显示View的背景。

相反,如果您只想添加背景,可以将其更改为UIButton的动作。

此外,如果您使用[View_0 removeFromSuperview];,则尝试删除不正确的视图。