你好,我想在UIPicker中显示一个列表,它保存在数组中。
它工作,但我想选择一个特定的标题作为标准。它应该是自动选择的。
的例子:
数组index_ _ ___ _title
0 _ _ __ _ ___ _Water
1_ _ __ _ ___ _Fire & lt;——火应该是标题的名称自动选择为标准。
2_ _ __ _ ___ _Storm
我的列表是灵活的,我不能选择每次索引1。你对这个问题有什么想法吗?
thanks in advance
要实现这一点,你需要使用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];
快速浏览一下文档就会给出答案。这样做:记住你必须在ViewController生命周期的viewDidLoad
上或之后的某个地方做。
[myPickerView selectRow:indexYouWantSelected inComponent:columnInCaseYouHaveMany animated:NO];
首先你需要找到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];