gpt4 book ai didi

iphone - UIPicker noob 问题 - 如果我单击选择器中的第一个项目,结果为 null - 所有其他项目都很好

转载 作者:行者123 更新时间:2023-12-03 20:28:53 25 4
gpt4 key购买 nike

我有一个 UIPicker,里面有 7 个项目。 (只有一个组件)...如果我单击选择器中的第一项(没有选择器的任何滚动),我得到的文本结果为空。

但是,如果我在列表上向下“拖拽”,然后单击第 1 项,则效果很好。

如果我单击任何其他项目,它总是返回正确的结果。当然,列表必须滚动才能选择这些项目。

到底是什么原因导致了这种情况?我需要调用委托(delegate)函数吗?如果他们从不单击任何内容,是否有某种方法可以默认选择列表中的第一项?

谢谢

菲尔

这是我的 .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];
...
...

这是我定义的其他 4 个 UIPickerView 委托(delegate)函数。

- (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]];

}

最佳答案

pickerView:didSelectRow:inComponent: 仅在选取器 View 滚动时调用。因此,如果您从不 ScrollView ,则永远不会调用该方法,因此永远不会设置 selectedTerm。修复很简单,在 viewDidLoad: 中初始化 selectedTerm。

关于iphone - UIPicker noob 问题 - 如果我单击选择器中的第一个项目,结果为 null - 所有其他项目都很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5125030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com