Objective c 循环在Interface Builder中设置的布局

Objective c 循环在Interface Builder中设置的布局,objective-c,ios,xcode,layout,Objective C,Ios,Xcode,Layout,我只需要有人给我指出正确的方向,告诉我该怎么做。我想制作一个类似iOS新闻的应用程序,它的界面类似于Windows Phone。大小图像分块,分别表示一条新闻。现在我想在故事板中创建一些基本布局,例如,由一个标题和3个不同大小的瓷砖/图像(附加图像上的灰色部分)组成。现在,我将以JSON数组的形式获取数据,该数组包含不同的新闻类别,因此我想知道设置布局是否可以在for循环中重用,因为布局只会重复自身(附加图像上的红色部分),并且数据会有所不同 这可以做到吗?我应该尝试这样做,还是应该尝试以编程方

我只需要有人给我指出正确的方向,告诉我该怎么做。我想制作一个类似iOS新闻的应用程序,它的界面类似于Windows Phone。大小图像分块,分别表示一条新闻。现在我想在故事板中创建一些基本布局,例如,由一个标题和3个不同大小的瓷砖/图像(附加图像上的灰色部分)组成。现在,我将以JSON数组的形式获取数据,该数组包含不同的新闻类别,因此我想知道设置布局是否可以在for循环中重用,因为布局只会重复自身(附加图像上的红色部分),并且数据会有所不同


这可以做到吗?我应该尝试这样做,还是应该尝试以编程方式创建整个布局?我不介意用编程的方式来做,只是我在用这种方式创建布局方面没有太多经验,我想确保我不会做一些以后可能会后悔的事情。感谢您的帮助和建议。

您可以创建三个不同的类,将UIView子类化以容纳三个不同的分幅,然后根据新闻类别添加一个子类UIView

if(category == NORMALSIZE) {
    TileView1 *tileView = (TileView1 *)[[[NSBundle mainBundle] loadNibNamed:@"TileView1" owner:self options:nil] objectAtIndex:0];
    [self.view addSubview:tileView];
}
else if(category == MEDIUMSIZE) {
    TileView2 *tileView = (TileView2 *)[[[NSBundle mainBundle] loadNibNamed:@"TileView2" owner:self options:nil] objectAtIndex:0];
    [self.view addSubview:tileView];
}
else {
    TileView3 *tileView = (TileView3 *)[[[NSBundle mainBundle] loadNibNamed:@"TileView3" owner:self options:nil] objectAtIndex:0];
    [self.view addSubview:tileView];
}

可以创建三个不同的类,将UIView子类化以容纳三个不同的分幅,然后根据新闻类别添加一个子类UIView

if(category == NORMALSIZE) {
    TileView1 *tileView = (TileView1 *)[[[NSBundle mainBundle] loadNibNamed:@"TileView1" owner:self options:nil] objectAtIndex:0];
    [self.view addSubview:tileView];
}
else if(category == MEDIUMSIZE) {
    TileView2 *tileView = (TileView2 *)[[[NSBundle mainBundle] loadNibNamed:@"TileView2" owner:self options:nil] objectAtIndex:0];
    [self.view addSubview:tileView];
}
else {
    TileView3 *tileView = (TileView3 *)[[[NSBundle mainBundle] loadNibNamed:@"TileView3" owner:self options:nil] objectAtIndex:0];
    [self.view addSubview:tileView];
}

如果部署到iOS6++只看一眼。如果部署到iOS6++只看一眼。