ios - addSubview 在 "for loop"中并带有计数

标签 ios for-loop subview addsubview

我有一个关于 FOR 循环和 subview 的问题。我想每次循环使用不同的 subview 名称运行时显示不同的 subview 。名称必须是“hoofdstukController”+ i 计数。

我该怎么做?我尝试了几种方法,但都使应用程序崩溃了。这是我的循环:

_viewControllers = [[NSMutableArray alloc] init];
for (int i = 0; i < 10; i++)
{
    CGRect frame = _scrollView.frame;
    frame.origin.x = frame.size.width * i;
    frame.origin.y = 0; 
    hoofdstukController.view.frame = frame;
    [_scrollView addSubview:hoofdstukController.view];
    [_viewControllers addObject:hoofdstukController];
}

希望有人能把我推向正确的方向!

谢谢。

最佳答案

您应该首先将所有 View Controller 添加到数组中:

_viewControllers = [[NSMutableArray alloc] init];
[_viewControllers addObject:hoofdstukController];
[_viewControllers addObject:hoofdstukController0];
[_viewControllers addObject:hoofdstukController1];
//etc.

然后您可以循环该数组并将它们的 View 添加为 subview 。请注意,您还应该将它们添加为父 View Controller 的 subview Controller :

编辑:抱歉,“i”无法正常工作,您需要对其进行一些修改

for (UIViewController *vc in _viewControllers)
{
    CGRect frame = _scrollView.frame;
    frame.origin.x = frame.size.width * i;
    frame.origin.y = 0; 
    vc.view.frame = frame;

    [viewControllerHostingTheScrollView addChildViewController:vc];
    [_scrollView addSubview:vc.view];
    [vc didMoveToParentViewController:viewControllerHostingTheScrollView];
}

编辑:抱歉,“i”无法正常工作,您需要对其进行一些修改:

int i = 0;
for (UIViewController *vc in _viewControllers)
{
    CGRect frame = _scrollView.frame;
    frame.origin.x = frame.size.width * i++;
    frame.origin.y = 0; 
    vc.view.frame = frame;

    [viewControllerHostingTheScrollView addChildViewController:vc];
    [_scrollView addSubview:vc.view];
    [vc didMoveToParentViewController:viewControllerHostingTheScrollView];
}

关于ios - addSubview 在 "for loop"中并带有计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13086014/

相关文章:

iphone - 如何更新 UIView 的图层属性并保留其 subview 的图层?

c++ - 基类中 boost::shared_ptr 指向的对象永远不会被销毁

iphone - uitableviewcell 交替背景单元格颜色,即使对于没有数据的单元格也是如此

javascript - For循环找不到数组的最大值(Javascript)

java - 谁能向我解释一下 Java 中嵌套 for 循环在内存方面的行为?

ios - 如何检查 UIView 是否仍然存在?

iphone - 回到之前的观点

ios - 在 iOS 中的同一张 map 上使用默认和自定义 MKPointAnnotation

ios - iOS 启动屏幕中心黑屏

python - 为什么捕获 StopIteration 时无法跳出循环?