正确使用addSubView?

时间:2011-08-21 22:20:32

标签: iphone xcode addsubview

我目前使用时没有任何问题:

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

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

3 个答案:

答案 0 :(得分: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

HTH,

阿克沙伊

答案 1 :(得分:0)

我发布的代码here提供了一种使用IBAction加载另一个视图的方法。虽然没有过渡动画......

答案 2 :(得分:0)

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

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

希望它有效..