如何在UIPicker中首先选择具有特定标题的数组

时间:2013-03-25 14:38:40

标签: ios objective-c xcode multidimensional-array uipickerview

您好我想在UIPicker中显示一个列表,该列表保存在数组中。

它有效,但我想选择一个特定的标题作为标准。它应该是自动选择的。

示例:

  

阵列

     

INDEX_的 _ ___ _title

     

0_的 _ __ _ ___ _Water

     

1_ _ __ _ ___ _Fire< ---名称为Fire的标题应为   自动选为标准。

     

2_的 _ __ _ ___ _Storm

我的列表很灵活,每次索引1都无法选择。 你对这个问题有什么想法吗?

提前致谢

3 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

快速浏览文档将为您提供答案。这样做:记住你必须在ViewController生命周期的viewDidLoad之上或之后的某个地方做这件事。

[myPickerView selectRow:indexYouWantSelected inComponent:columnInCaseYouHaveMany animated:NO];

答案 2 :(得分:0)

首先你需要找到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];