我遇到了麻烦。
我正在添加其他类似的观点。
haberdetay *detayview = [[haberdetay alloc] initWithNibName:@"haberdetay" bundle:nil];
CATransition *transition = [CATransition animation];
transition.duration = 0.25;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[self.view.layer addAnimation:transition forKey:nil];
[self.view addSubview:detayview.view];
此视图打开另一个视图,另一个视图可能。然后用户触摸主图标。这些都是使用内存的。我该如何删除它们。我正在尝试
NSArray * subviews = [self.view subviews];
for(UIView * aSubview in subviews)
{
// this removes and releases the subviews you allocated
[aSubview removeFromSuperview];
}
此访问haberdetay的子视图,但我必须访问所有子视图才能删除或访问它们。
如你所知,我很困惑:)如果你了解我,请告诉我,我该怎么办? :)
答案 0 :(得分:1)
你应该使用pushViewController或presentModalViewController而不是在另一个Viewcontroller中添加一个Viewcontroller的视图,当你想要回来时你可以使用popViewController或dismissModalViewController,这也有助于内存管理。
答案 1 :(得分:1)
我想你想要[self.navigationController pushViewController:haberdetay animated:YES];这将缓存您以前的视图,因此不必发布。它还将处理动画,以及为您添加和删除主视图。此外,刷新这样的观点是一个非常糟糕的主意,尤其是主要的自我观点。