0

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

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

例子:

大批

索引_ _ ___ _标题

0_ _ __ _ ___ _水

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

2_ _ __ _ ___ _风暴

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

提前致谢

4

3 回答 3

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];
于 2013-03-25T14:40:58.017 回答
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];
于 2013-03-25T15:15:31.027 回答
0

快速浏览文档将为您提供答案。这样做:请记住,您必须在viewDidLoadViewController 生命周期的某个地方或之后的某个地方执行此操作。

[myPickerView selectRow:indexYouWantSelected inComponent:columnInCaseYouHaveMany animated:NO];
于 2013-03-25T14:40:45.580 回答