1

我目前使用以下方法没有任何问题:

-(IBAction)products:(id)sender {
    products = [[Products alloc] initWithNibName:@"Products" bundle:nil];
    [self.view addSubview:products.view];
}

我将此操作绑定到按钮以更改我的视图。我确定这是不正确的,因为视图正在堆叠,对吗?我的应用程序会因此而崩溃吗?知道通过 IBAction 切换视图的任何好的示例代码吗?

4

2 回答 2

4

如果您要添加将覆盖整个超级视图的子视图,您可以考虑在添加新子视图之前删除现有子视图。您可以通过标记视图然后删除它们来做到这一点。

添加视图时,为其分配一个标签-

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

高温下,

阿克谢

于 2011-08-22T06:38:16.757 回答
0

添加多个视图会使您的应用程序变慢但不会崩溃..

您可以从 superview 中删除所有视图,这将解决您的所有问题

希望它有效..

于 2011-08-22T05:34:36.193 回答