正确使用 addSubView?
Posted
技术标签:
【中文标题】正确使用 addSubView?【英文标题】:correct use of addSubView? 【发布时间】:2011-08-21 22:20:32 【问题描述】:我目前使用没有任何问题:
-(IBAction)products:(id)sender
products = [[Products alloc] initWithNibName:@"Products" bundle:nil];
[self.view addSubview:products.view];
我将此操作绑定到按钮以更改我的视图。我确定这是不正确的,因为视图正在堆叠,对吗?我的应用程序会因此而崩溃吗?知道通过 IBAction 切换视图的任何好的示例代码吗?
【问题讨论】:
【参考方案1】:如果您添加的子视图将覆盖整个超级视图,您可以考虑在添加新子视图之前删除现有的子视图。您可以通过标记视图然后删除它们来做到这一点。
添加视图时,为其分配标签-
products.view.tag = 1; //any number you want
[self.view addSubview:products.view];
要删除旧视图,请获取并删除它-
UIView* subview = [self.view viewWithTag:1]; //Use the same number
[subview removeFromSuperview];
//now add a new view
HTH,
阿克谢
【讨论】:
好的。我在 ios 文档中看到了这一点,但不知道如何编写它。他们提供的另一个选项是为每个视图分配一个指针,但您需要适当地管理它。【参考方案2】:添加多个视图会使您的应用程序变慢但不会崩溃..
您可以从 superview 中删除所有视图,这将解决您的所有问题
希望它有效..
【讨论】:
以上是关于正确使用 addSubView?的主要内容,如果未能解决你的问题,请参考以下文章
什么类型的代码正确:AppDelegate 中的 addSubview 或直接控制器分配?