动态选择UIPickerView中的一行
我有一个使用UIPickerView和3个按钮的iPhone应用程序。动态选择UIPickerView中的一行
这个选取器有一个100行(0,1,2,...,98,99)的组件。
我想,这样,当我按上的按钮来实现的代码
- 按钮1:将拣货机选择行21(其值20)
- BUTTON2:将使选择器选择行第41个(其中有值40)
- BUTTON3:将拣货机选择行60 (其值60)
我知道如何使选择器选择一行时
- (void)viewDidLoad
{
........
[picker selectRow:50 inComponent:0 animated:YES];
}
但我不能使选择器选择所需要的行,当我点击按钮:由视图第一负载 把下面的代码中viewDidLoad中()方法。
好了,现在我重新创建项目,并重新输入代码:
- (IBAction) goToRowTwenty
{
[picker selectRow:20 inComponent:0 animated:YES];
[timerPickerView reloadComponent:0];
}
和它的作品,我真的不知道发生了什么,但还是谢谢你们回答我的问题。
挂机按钮的操作方法,然后在动作方法简单地调用同一个selectRow:inComponent:animated:
方法,即
- (IBAction)button1Action {
[picker selectRow:20 inComponent:0 animated:YES];
}
你挂钩的按钮,在Interface Builder该方法。
您可以将相同的代码放在viewDidLoad中,以便在单击按钮时触发点击事件时选择pickerRow。
-(void)button1clickevent{
//FUNCTION MUST GET FIRE WHEN BUttON ! IS CLICKED
[picker selectRow:50 inComponent:0 animated:YES];
}
HAPPY iCODING ...
是的,我做到了。我甚至从选取器中调用'reloadComponent',但它仍然不起作用。我必须在这里错过一些东西。这是我在我的应用中用于'button1'的代码。 - (IBAction)goToRowTwenty {[picker selectRow:20 inComponent:0 animated:YES]; [timerPickerView reloadComponent:0]; } – 2010-09-10 14:20:52
什么是这个timepickerView在这里...重新加载你的选择器[picker reloadComponent:0]不是[timepicker reloadComponent:0];此外,无需重新加载选取器。请检查您的选取器是否真的与xib中的选取器绑定。 – 2010-09-13 05:21:15
还要确保选择器用“IBOutlet”定义如下。并将选取器的参考插座连接到此:
@property (nonatomic, retain) IBOutlet UIPickerView *picker;
是的,我做到了。我甚至从选取器中调用'reloadComponent',但它仍然不起作用。我必须在这里错过一些东西。这是我在我的应用中用于'button1'的代码。 - (IBAction)goToRowTwenty {[picker selectRow:20 inComponent:0 animated:YES]; [timerPickerView reloadComponent:0]; } – 2010-09-10 14:19:43
感谢您的提示。 Sometomes你只是没有看到明显的。 :) – 2012-10-08 22:43:07