我的UIPickerWheel
设置可以通过轻弹旋转并填充UILabel
,无论其上的任何字值,都可以正常工作。
我遇到的这个问题是当我添加一个按钮来旋转我的选择器轮并随机选择一个单词值时。它旋转方向盘很好,它也填充了UILabel
,但UILabel
和拣选轮上显示的内容不匹配。我打算粘贴下面的代码。
我知道我现在设置它的方式基本上就是说当用户按下按钮,旋转滚轮并选择一个随机值,然后将文本设置为selectedItem
的标签。现在selectedItem = ?
是我遇到问题的地方。如果我输入一个字符串(例如@“hello”),标签会说“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];
}
答案 0 :(得分: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
数组中的单词匹配。