有没有办法在 XCode 中使用 Interface Builder 来显示随机图像?因此,假设我有三张图片,并且希望每次加载我的应用程序时随机显示一张。我是 XCode 的新手,所以我正在寻找最简单的方法,而 IB 似乎是要走的路。谢谢!
2 回答
考虑了几秒钟后,我意识到答案是当然可以,但是太痛苦了,我怀疑您是否愿意。我想出了一种方法作为如何以这种方式使用 IB 的示例。
首先,子类 UIImageView,我称之为 MyRandomImageView。MyRandomImageView 的唯一成员是@property (retain, nonatomic) NSString *randomImageJSON
.
接下来,将 UIImageView 添加到您的视图中。在 Identity Inspector 中,将自定义类从 UIImageView 更改为 MyRandomImageView。然后在 Identity Inspector 中,在 User Defined Runtime Attributes 下,将 randomImageJSON 设置为[ "image1.png", "image2.png", "image3.png" ]
.
最后一部分是您遇到所有麻烦的地方。创建-[MyRandomImageView setRandomImageJSON]
. 它需要设置_randomImageJSON
iVar,用于NSJSONSerialization
创建字符串数组,随机选择其中一个字符串,然后设置self.image = [UIImage imageNamed:randomImage]
这应该完全符合您的意愿,来自 Interface Builder 的随机图像。希望有帮助。
您必须以编程方式执行此操作。还没有测试下面的代码,但我很确定它可以工作。
int imageNumber = arc4random() % 3;
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%i", imageNumber]]];
您应该首先在实现中声明它并将其链接到 Interface Builder 中的 UIImageView。