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

标签 objective-c ios xcode layout

我只需要有人为我指出我应该如何做事的正确方向。我想制作一个类似 Windows Phone 界面的 iOS 新闻类应用程序。大图像 block 和小图像 block 分别代表一个新闻项目。现在我正在考虑在 Storyboard中创建一些基本布局,例如,一个标题和 3 个不同大小的图 block /图像(所附图像上的灰色部分)。现在,我将把数据作为一个包含不同新闻类别的 JSON 数组获取,所以我想知道是否可以在 for 循环中以某种方式重用设置的布局,因为布局只会 self 重复(附图中的红色部分) ) 只有数据会有所不同。 repeating layout

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

最佳答案

可以创建三个不同的子类 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/

相关文章:

ios - 在 Objective-C block 中修改全局变量

objective-c - 实现音量控制

c++ - 完成/填充字母 OpenCV C++

ios - 找不到 Availability.h 文件 - Xcode 4.6.1 - Objective-C

ios - Swift:异步回调

ios - 在搜索栏中搜索数组

ios - 移除 NSNotificationCenter 观察者

objective-c - 从 uisplitview 更改主视图和详细 View

iOS - xib 文件隐藏在项目目录中

ios - 更改从 Swift 中的 Storyboard创建的弹出窗口的箭头颜色