Iphone 使用多个UIPicker一个屏幕
我想建立一个应用程序,将有两个不同的UIPicker视图上。我设置了不同的变量,但是当我运行应用程序时,我让两个UIPicker都有相同的信息。使用两个不同阵列的不同UIPicker的正确方法是什么Iphone 使用多个UIPicker一个屏幕,iphone,xcode,ipad,ios4,xcode4,Iphone,Xcode,Ipad,Ios4,Xcode4,我想建立一个应用程序,将有两个不同的UIPicker视图上。我设置了不同的变量,但是当我运行应用程序时,我让两个UIPicker都有相同的信息。使用两个不同阵列的不同UIPicker的正确方法是什么 有什么建议吗?只需给每个UIPicker一个“标签” 然后在数据源方法中添加: - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { NSInteger * numberOfComponent
有什么建议吗?只需给每个UIPicker一个“标签” 然后在数据源方法中添加:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
NSInteger * numberOfComponents;
if(picker.tag==0){
numberOfComponents = 3;
}else{
numberOfComponents = 4;
}
return numberOfComponents;
}
您的类中必须有2个uipicker对象作为实例变量 在uipicker数据源和委托方法中,您可以检查调用这些方法的选择器,然后相应地将数据加载到其中
但是,如果您没有uipicker的IBOutlet(如果您在xib中创建了它们),那么只需使用标记来标识选择器并适当地加载数据。它们都设置为使用相同的委托吗?您需要单独的委托才能用不同的数据填充单独的控件。@Gregory Hoerner不,您可以同时使用一个委托。只需确保检查哪一个调用了委托方法(使用if语句)。@WTP,我很抱歉,我指的是数据源。不过,两个都可以有一个数据源。再次确保使用if语句检查哪个调用了数据源方法。;)虽然您可以重用数据源,但我个人的经验是,使用单独的实例(虽然占用内存较多)有助于防止此类问题。我已经在必要时创建了一个通用数组数据源,并用数组实例化了该数据源的一个新实例,然后将其分配给相应的控件。-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerViewPort;{return 1;}我应该将我的-(NSInteger)组件编号放入选择器:…,(void)pickerview:(UIPickerView)…,-(NSInteger)pickerview:(UIPickerView*)…和-(NSString*)pickerview:(UIPickerView*)。。。。。
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
NSInteger * numberOfComponents;
if(picker.tag==0){
numberOfComponents = 3;
}else{
numberOfComponents = 4;
}
return numberOfComponents;
}