您好,我想在 UIPicker 中显示一个列表,该列表保存在数组中。
它有效,但我想选择一个特定的标题作为标准。它应该是自动选择的。
例子:
大批
索引_ _ ___ _标题
0_ _ __ _ ___ _水
1_ _ __ _ ___ _Fire <---名称为Fire的标题应自动选择为标准。
2_ _ __ _ ___ _风暴
我的列表很灵活,我不能每次都选择索引 1。你对这个问题有什么想法吗?
提前致谢
您好,我想在 UIPicker 中显示一个列表,该列表保存在数组中。
它有效,但我想选择一个特定的标题作为标准。它应该是自动选择的。
例子:
大批
索引_ _ ___ _标题
0_ _ __ _ ___ _水
1_ _ __ _ ___ _Fire <---名称为Fire的标题应自动选择为标准。
2_ _ __ _ ___ _风暴
我的列表很灵活,我不能每次都选择索引 1。你对这个问题有什么想法吗?
提前致谢
为此,您需要使用 selectRow:inComponent:animated:
self.pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 155, 0, 0)];
self.pickerView.delegate = self;
self.pickerView.showsSelectionIndicator = YES;
[self.pickerView selectRow:[YouArray indexOfObject:@"YourTitle"] inComponent:0 animated:NO];
[self.view addSubview:self.pickerView];
首先你需要找到Fire的索引
NSArray *array = @[@"Water",@"Fire",@"Storm"];
NSString *stringToBeSelected = @"Fire";
NSUInteger index = [array indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
NSString *currentString = (NSString *)obj;
return [currentString isEqualToString:stringToBeSelected];
}];
选择pickerView所在的行
[self.pickerView selectRow:index inComponent:0 animated:YES];
快速浏览文档将为您提供答案。这样做:请记住,您必须在viewDidLoad
ViewController 生命周期的某个地方或之后的某个地方执行此操作。
[myPickerView selectRow:indexYouWantSelected inComponent:columnInCaseYouHaveMany animated:NO];