您的位置:首页 > 其它

addsubview 加载view和控件的区别

2012-11-23 20:34 363 查看

问题:

  当用addsubview加载控件时,addsubview后就可以release的;但当加载的是view视图时,如果你现在release或者autorelease,当这个加载的view调用removeFromSuperview方法返回时则会出错,如果不release或者autorelease则view返回时不会调用dealloc方法,造成没有释放view里的资源。

解决之道:

在调用的removeFromSuperview方法后再调用release即可。

如下:

加载view

ShowImageViewController *showImageViewController = [[ShowImageViewController alloc] init];
showImageViewController.showdelegate = self;
[[self appDelegate].window

//可以这样在用addsubview跳转界面中使用动画,这个动画是让view加载的时候会用下往上移动
showImageViewController.view.frame = CGRectMake(0, 480, 320, 460);
[[self appDelegate].window addSubview:showImageViewController.view];
[UIView animateWithDuration:0.3 animations:^{
showImageViewController.view.frame = CGRectMake(0, 20, 320, 460);
}];


view返回

[self.view removeFromSuperview];
[self release];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐