【问题标题】:Use NSArray to Populate Different UIImages?使用 NSArray 填充不同的 UIImages?
【发布时间】:2014-04-26 21:17:43
【问题描述】:

我在网上看到过使用数组在特定 UIImageView 中创建动画的教程。我正在尝试做的事情有点不同,我不太确定如何去做。

我的故事板上有十个不同的 UIImageView。我有一个包含 10 个不同元素的数组。我想做的是用我的数组随机填充 UIImageViews。所以第一次加载右上角的ImageView会有Image A,然后下次加载就会有Image B。

我创建了一个名为 randomNumber 的方法来随机从数组计数中提取一个随机数。但我不太确定从这里去哪里。任何指针?谢谢!

- (void)viewDidLoad
{
    kana = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"a.png"],
                        [UIImage imageNamed:@"i.png"],
                        [UIImage imageNamed:@"u.png"],
                        [UIImage imageNamed:@"e.png"],
                        [UIImage imageNamed:@"o.png"],
                        [UIImage imageNamed:@"ka.png"],
                        [UIImage imageNamed:@"ki.png"],
                        [UIImage imageNamed:@"ku.png"],
                        [UIImage imageNamed:@"ke.png"],
                        [UIImage imageNamed:@"ko.png"],
                        nil];


[super viewDidLoad];
// Do any additional setup after loading the view.
}

-(id) randomNumber
{
    if ([kana count] > 0)
    {
      id obj = kana[arc4random_uniform([kana count])];
      return obj;
    }
    else
      return nil;
 }

【问题讨论】:

    标签: objective-c arrays uiimageview


    【解决方案1】:

    通常,您不希望重复,因此您迭代图像视图,并且在每次迭代中,您从kana 获得一个随机图像,然后从数组中删除该图像。只要您拥有的图像数量至少与图像视图的数量一样多,那么一切正常。

    【讨论】:

    • 我想我明白你的意思,但我仍然不确定它是如何工作的。我将如何迭代每个图像视图?我仍然对如何将 obj 分配给 Image View 感到困惑......它会不会是 UIImage *Monster1 = [kana objectAtIndex:obj] 之类的东西?
    • 你会使用你的(名字不好,因为它返回一个随机图像,而不是一个数字)randomNumber 方法来获取图像。看看使用 IBOutletCollection 来管理您的图像视图列表。
    • 对不起,我对此很陌生,所以我并没有真正关注。当方法返回一个 obj 时,如何使用我的方法获取图像?我不能使用 objectAtIndex,因为这需要一个 int。只有当我对多个 ImageView 使用相同的图像时,集合不是很好吗?
    • 你认为这行得通吗? CGFloat myFloat = [(NSNumber*)[self randomNumber] floatValue];
    • 不,该方法返回一个图像(这是完美的)。 [currentImageView setImage:[self randomNmber]];
    猜你喜欢
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    相关资源
    最近更新 更多