我只需要有人为我指出我应该如何做事的正确方向。我想制作一个类似 Windows Phone 界面的 iOS 新闻类应用程序。大图像 block 和小图像 block 分别代表一个新闻项目。现在我正在考虑在 Storyboard中创建一些基本布局,例如,一个标题和 3 个不同大小的图 block /图像(所附图像上的灰色部分)。现在,我将把数据作为一个包含不同新闻类别的 JSON 数组获取,所以我想知道是否可以在 for 循环中以某种方式重用设置的布局,因为布局只会 self 重复(附图中的红色部分) ) 只有数据会有所不同。
这可以做到吗,我应该尝试做这样的事情,还是应该尝试以编程方式创建整个布局?我不介意以编程方式进行,只是我在以这种方式创建布局方面没有太多经验,并且想确保我不会做一些我以后可能会后悔的事情。感谢您提供任何帮助和建议。
最佳答案
可以创建三个不同的子类 UIView 类来容纳三个不同的图 block ,然后根据新闻类别,您可以添加子类化的 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];
}
关于objective-c - 循环在 Interface Builder 中设置的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13931389/