phi*_*hil 2 iphone objective-c uipickerview
我有一个UIPicker,里面有7个项目.(只有一个组件)...如果我点击选择器中的第一个项目(没有选择器的任何滚动),我得到的文本结果为空.
但是,如果我在列表中向下"拖拽"并且那么点击项目#1就可以了.
如果我单击任何其他项目,它将始终返回正确的结果.当然,列表必须滚动才能选择这些项目.
是怎么回事?我需要调用一个委托函数吗?有没有办法将选择默认为列表中的第一项,如果他们从不点击任何东西?
谢谢,
菲尔
这是我的.m中"viewdidload"的片段
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@">>> Entering %s <<<", __PRETTY_FUNCTION__);
listOfTerms=[[NSArray alloc]initWithObjects:
@"Fall Semester",@"Spring Semester",@"Summer Session",@"Q1",@"Q2",@"Q3",@"Q4",nil];
...
...
Run Code Online (Sandbox Code Playgroud)
以下是我定义的其他4个UIPickerView委托函数.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component {
return [listOfTerms count];
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [listOfTerms objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component {
selectedTerm =[[NSString alloc]
initWithFormat:@"%@",
[listOfTerms objectAtIndex:row]];
}
Run Code Online (Sandbox Code Playgroud)
pickerView:didSelectRow:inComponent:仅在选取器视图滚动时调用.因此,如果您从不滚动视图,则永远不会调用该方法,因此永远不会设置selectedTerm.修复很简单,初始化selectedTerm in viewDidLoad:.
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |