0

所以我实现了一个 PickerView 并且当我选择一些值时一切正常,但如果我不选择任何东西

- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated

不叫。我希望如果用户没有选择一个值,则选择第一个值。

所以我实现了:

-(void)viewDidAppear:(BOOL)animated
{
    [pickerView selectRow:0 inComponent:0 animated:YES];
}

但它不起作用。为什么在此之后不调用 selectRow:inComponent: 方法?

4

2 回答 2

2

创建一个新函数以在您开始时调用。如果希望启动应用程序时读取输入的代码,则需要将其放在 viewDidLoad 下

- (void)viewDidLoad
{
[super viewDidLoad];
[updateWheel];
{
    [super viewDidLoad];
    }

 #Pragma Mark pickerWheel Delegate
- (void)updateWheel
{NSString *wheel1 = [wheel1 objectAtIndex:[picker selectedRowInComponent:0]];
aLabelUWantToHaveOutputIn.text = wheel1; 
} //Whatever code you want to happen

如果这没有帮助,请查看我的项目,它使用了一些相同的机制。 http://pastebin.com/WLGq3jvv

于 2012-10-29T18:48:20.177 回答
0
    [pickerView selectRow:0 inComponent:0 animated:YES];

它不会调用委托函数。它只会将指定的行滚动到中心。

于 2012-10-26T10:24:21.103 回答