Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone setImage-addSubview-release_Iphone_Uiimageview_Addsubview_Imagenamed - Fatal编程技术网

Iphone setImage-addSubview-release

Iphone setImage-addSubview-release,iphone,uiimageview,addsubview,imagenamed,Iphone,Uiimageview,Addsubview,Imagenamed,以下是iPhone的一些代码: 控制器h: IBOutlet UIImageView *userImage; IBOutlet UIImageView *userImage2; } @property (nonatomic, retain) IBOutlet UIImageView *userImage; @property (nonatomic, retain) IBOutlet UIImageView *userImage2; 主计长m: UIImageView *myImage2b =

以下是iPhone的一些代码:

控制器h:

IBOutlet UIImageView *userImage;
IBOutlet UIImageView *userImage2;

}
@property (nonatomic, retain) IBOutlet UIImageView *userImage;
@property (nonatomic, retain) IBOutlet UIImageView *userImage2;
主计长m:

UIImageView *myImage2b = [[UIImageView alloc] initWithFrame:myImageRect4];
[myImage2b setImage:[UIImage imageNamed:@"RedPin.png"]];
[userImage2 addSubview:myImage2b];

[userImage2 release];
[myImage2b release];

我只是想从我的子视图中去掉“RedPin”,并在将来的pin中重用userImage2。当然,发布后无法访问userImage2。这不是一个映射应用程序。任何想法都会有帮助。提前谢谢。

我要做的是在头文件中声明userImage2.,就像您所做的那样。然后,只需添加

[userImage2 release]
到您的dealloc函数并调用

[userImage2 removeFromSuperview]
每当您要从视图中删除图像时

编辑:我似乎有点误读了你的帖子。如果只想从userImage2中删除红色pin,请使用:

[[userImage2.subviews objectAtIndex:0] removeFromSuperview]

谢谢Brenton-我以前试过从SuperView移除。我有案例1到案例5。当我在案例1中将子视图图像添加到userImage2,然后在案例5中添加removeFromSuperView时,userImage2甚至在我输入案例5之前就从案例1中删除了。有什么想法吗?@enegene-我需要更多关于switch语句性质的信息,如何以及何时被称为这样的语句,然后我才能在这里提供更多帮助。如果你能展示代码的话,我会帮上一点忙的。谢谢Brenton-我一直在做更多的研究,发现发布和自动释放并不能立即做到这一点。因此,我在下一个setImage上有addSubView。我将进一步研究它。你好,布伦顿,我刚刚注意到您的编辑-[[userImage2.subviews objectAtIndex:0]removeFromSuperview]。如果在创建userImage2.subview的位置使用此选项,则不会显示红色pin。如果我在另一个不需要pin的视图中使用它,它会起作用,但是如果我在该视图中多次点击IBAction按钮,它会再次尝试从SuperView中删除,我会崩溃。我将尝试设置计数,并且不会两次启动removeFromSuperview。Thanks@enegene没问题。它正在崩溃,因为在删除索引0处的对象后,子视图数组为空。您正在尝试删除不存在的内容。您可以尝试使用[userImage2.subviews count]来确保在删除之前存在某些内容。