iphone SDK:如何设置UIPickerView的初始值?
问题描述:
我有一个选择器视图,它有一个可供选择的数字列表。我想能够在特定行初始化控件。例如,如果用户指定10作为它们的默认值,那么当控件第一次初始化时,控件应该自动定位在该行。iphone SDK:如何设置UIPickerView的初始值?
在此先感谢。
答
您可以拨打selectRow:inComponent:animated:
并将其传递给您想要选择的行的索引。
此代码将导致一个UIPickerView
通过其数字旋转0到60来对0
- (void)viewDidAppear:(BOOL)animated {
[thePicker selectRow:60 inComponent:0 animated:YES];
[thePicker reloadComponent:0];
[thePicker selectRow:60 inComponent:1 animated:YES];
[thePicker reloadComponent:1];
[thePicker selectRow:0 inComponent:0 animated:YES];
[thePicker reloadComponent:0];
[thePicker selectRow:0 inComponent:1 animated:YES];
[thePicker reloadComponent:1];
}
休息,你的情况,显示连续十次,你会打电话像前:
[thePicker selectRow:10 inComponent:0 animated:YES];
答
你可以做什么,而不是选择行,是让pickerview找到你想要的值。该方法是创建一个循环来找到它在数组中,并选择它:
- (void)viewDidAppear:(BOOL)animated{
int i = 0;
for(NSString* number in arrayName)
{
if ([stringValue isEqualToString:number]){
[pickerViewName selectRow:i inComponent:0 animated:YES ];
}
i++;
}
}
答
如果使用UITextField
与UIPickerView
[self.text_field setInputView:self.picker];
然后使用此:
self.text_field.text = [_myarray objectAtIndex:10];
它不工作如预期。我把这个代码放在controller的viewDidLoad中。不知道为什么? [tipPicker selectRow:5 inComponent:0 animated:YES]; – 2009-10-28 22:29:09
解决IB问题后,解决方案正常工作。 – 2009-10-28 23:27:27
不错的演示。谢谢。 – 2009-10-29 21:41:35