所以我实现了PickerView,当我选择一些值时一切正常,但如果我不选择任何东西
- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated
未被调用。我想如果用户没有选择值,则会选择第一个值。
所以我实施了:
-(void)viewDidAppear:(BOOL)animated
{
[pickerView selectRow:0 inComponent:0 animated:YES];
}
但它不起作用。为什么不是selectRow:inComponent:在此之后调用的方法?
答案 0 :(得分: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
答案 1 :(得分:0)
[pickerView selectRow:0 inComponent:0 animated:YES];
它不会调用委托函数。它只会将指定的行滚动到中心。