添加到UIPickerView

时间:2014-03-29 03:42:40

标签: ios uipickerview

我找到的每个示例都向我展示了如何填充UIPickerView中的viewDidLoad。但是,当我尝试使用另一个函数中的HTTP请求中的项目填充选择器时,它最终变为空白(即使我已经测试过数据确实按照我的意愿返回)。

- (IBAction)btnClick:(id)sender
{
    NSDictionary *courseNames;
    if(![_txtBox.text isEqual:@""]) //if not empty
    {
        courseNames = [self retrieveCourseNamesForSemester:_txtBox.text];
        for (NSString *key in courseNames)
        {
            NSString *val = [NSString stringWithFormat:@"%@ - %@",key,[courseNames objectForKey:key]];
            _txtView.text = val;
            [courseArray addObject:val];
        }
    }
    _coursePicker.hidden=false;
    [_txtBox resignFirstResponder];
}

_coursePicker是在故事板本身上创建的,因此不会以编程方式或任何方式添加。我要添加到courseArray方法中分配的数组UIPickerView,如下所示:

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    //set number of rows
    return courseArray.count;
}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{

    return [courseArray objectAtIndex:row];
}

此时如何重新填充UIPickerView

1 个答案:

答案 0 :(得分:2)

获取数据后_coursePicker.hidden = NO;尝试调用

之前
[_coursePicker reloadAllComponents];

这应该使选择器重新填充您的数据。