【问题标题】:Adding multiple the samve views添加多个相同的视图
【发布时间】:2011-03-30 08:44:32
【问题描述】:

我搜索了网络和书籍,寻找答案但没有找到。 (可能是我找错了路,或者大家都知道答案,除了我)

所以我的问题是这样的: 我有一个视图(在界面生成器中制作),因为我知道我需要更多看起来相同的视图。我知道如何添加 1 个视图(或更多),但问题是,我不知道数据库中会有多少产品。 因此,对于每个产品,我都需要添加另一个具有不同数据的视图。 现在唯一的问题是,如何添加这些多个视图?

如果总是有 5 个产品,我可以这样做:

ProductController *productfirstController;
ProductController *productsecondController;
...
[scrollview addSubview:productfirstController.view];
[scrollview addSubview:productsecondController.view];
...

但正如您所见,这是一种可怕的编程方式。

我的第一个想法是我是否可以使用这样的字符串: (iInt 是 lus 中的一个整数,最后加起来是 1)

NSString *productController = "productController%d',iInt;

但在这里我无法走得更远。

有人知道我该如何解决这个问题吗?

提前致谢!

【问题讨论】:

    标签: xcode view foreach addsubview


    【解决方案1】:

    不要为视图使用单独的变量,而是使用NSArray。使用循环将它们添加到NSArrayscrollview。详细如下:

    NSArray *productViews = [[NSArray alloc] init];
    
    ProductController *productController;
    for (...) {
        productController = [[ProductController alloc] init...];
    
        [scrollview addSubview:productfirstController.view];
        [productViews addObject:productfirstController];
        [productController release];
    }
    

    【讨论】:

    • 我找到了答案,感谢您的帮助!我必须将 productcontroller 作为一个数组:例如: ProductController *productController[5];当我将它添加到我的子视图时,我必须这样做: [self addSubview:productController[i]];
    猜你喜欢
    • 1970-01-01
    • 2016-10-27
    • 2017-09-12
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多