0

有没有办法在 XCode 中使用 Interface Builder 来显示随机图像?因此,假设我有三张图片,并且希望每次加载我的应用程序时随机显示一张。我是 XCode 的新手,所以我正在寻找最简单的方法,而 IB 似乎是要走的路。谢谢!

4

2 回答 2

1

考虑了几秒钟后,我意识到答案是当然可以,但是太痛苦了,我怀疑您是否愿意。我想出了一种方法作为如何以这种方式使用 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]. 它需要设置_randomImageJSONiVar,用于NSJSONSerialization创建字符串数组,随机选择其中一个字符串,然后设置self.image = [UIImage imageNamed:randomImage]

这应该完全符合您的意愿,来自 Interface Builder 的随机图像。希望有帮助。

于 2012-09-09T13:50:53.400 回答
0

您必须以编程方式执行此操作。还没有测试下面的代码,但我很确定它可以工作。

int imageNumber = arc4random() % 3;

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%i", imageNumber]]];

您应该首先在实现中声明它并将其链接到 Interface Builder 中的 UIImageView。

于 2012-09-09T13:43:48.587 回答