我发现的每个示例都向我展示了如何填充UIPickerView
in 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
方法中分配的array ,如下所示:
-(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
?
在获取数据之后并_coursePicker.hidden = NO;
尝试致电之前
[_coursePicker reloadAllComponents];
那应该使选择器重新填充您的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句