0

我有我的UIPickerWheel设置,可以通过轻弹旋转并UILabel用它所在的任何单词值填充 a ,并且效果很好。

我遇到的这个问题是当我添加一个旋转我的选择器轮并随机选择一个单词值的按钮时。它使轮子旋转得很好,它也填充了我UILabel的,但是UILabel选择器轮子上显示的内容不匹配。我将粘贴下面的代码。

我知道我现在设置它的方式基本上是说当用户按下按钮时,旋转滚轮并选择一个随机值,然后将 Text 设置为selectedItem. 现在selectedItem = ?是我遇到问题的地方。如果我输入一个字符串(例如@“hello”),标签会说“你好”,无论是什么着陆,如果我输入一个 0-5610 的数值(我的数组中的单词),那么它将显示该单词。

现在我有它只是随机选择一个词。所以我知道这个问题就在那条线上。

我假设我的问题来自的行是:

 selectedItem = 

/// 这是代码///

 - (IBAction)spin:(id)sender {

[pickerView selectRow:(arc4random() % [self pickerView:pickerView numberOfRowsInComponent:0]) inComponent:0  animated:YES];

selectedItem = [words objectAtIndex:(arc4random() % [words count])];

[label setText:selectedItem];     

}
4

1 回答 1

1

您正在创建两个不同的随机数。您将选择器设置为一个,然后从单词列表中选择一个单词。相反,创建一个随机数。将它用于两种操作:

- (IBAction)spin:(id)sender {
    NSUInteger number = arc4random_uniform(words.count);
    [pickerView selectRow:number inComponent:0 animated:YES];

    selectedItem = words[number];
    label.text = selectedItem;     
}

这假设选择器中的单词与words数组中的单词匹配。

于 2013-09-29T05:36:47.157 回答