Iphone 非常简单的问题。如何使用两列创建UIPickerView?

Iphone 非常简单的问题。如何使用两列创建UIPickerView?,iphone,uipickerview,Iphone,Uipickerview,我读过关于创建包含两列或更多列的UIPickerView的其他问题,但找不到确切的解决方案 iPhone是如何通过编程实现的?如何添加静态数据?谢谢 使您的控制器(或控制PickerView行为的任何控制器)支持UIPickerViewDeleteGate协议。然后,实施: - (int) numberOfColumnsInPickerView:(UIPickerView*)picker 返回所需的列数,以及 - (int) pickerView:(UIPickerView*)picker n

我读过关于创建包含两列或更多列的UIPickerView的其他问题,但找不到确切的解决方案

iPhone是如何通过编程实现的?如何添加静态数据?谢谢

使您的控制器(或控制PickerView行为的任何控制器)支持UIPickerViewDeleteGate协议。然后,实施:

- (int) numberOfColumnsInPickerView:(UIPickerView*)picker
返回所需的列数,以及

- (int) pickerView:(UIPickerView*)picker numberOfRowsInColumn:(int)col
要返回每列的行数,最后:

- (UIPickerTableCell*) pickerView:(UIPickerView*)picker tableCellForRow:(int)row inColumn:(int)col
设置每个单元格

请参阅和的参考。

使您的控制器(或控制PickerView行为的任何控制器)支持UIPickerViewDeleteGate协议。然后,实施:

- (int) numberOfColumnsInPickerView:(UIPickerView*)picker
返回所需的列数,以及

- (int) pickerView:(UIPickerView*)picker numberOfRowsInColumn:(int)col
要返回每列的行数,最后:

- (UIPickerTableCell*) pickerView:(UIPickerView*)picker tableCellForRow:(int)row inColumn:(int)col
设置每个单元格


请参阅和的参考。

关于这个主题有一个很好的教程。

关于这个主题有一个很好的教程。

假设您有一个字典或两个数组保存静态数据。为了简单起见,我将使用一个非常简单的数组

必须修改视图控制器接口定义,以告知程序视图控制器可以向选择器视图提供数据和委派

@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource>
@接口NVHomeViewController:UIViewController
不只是实现几个方法就可以了,但是应该检查文档中是否有其他可选的方法,但这些方法提供了更多的定制和控制

@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource>

NSArray *options;
- (void)viewDidLoad
{
    [super viewDidLoad];
    options = @[@"a",@"b",@"c",@"d"];
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return [options count];
}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return [options objectAtIndex:row];
}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    NSLog(@"%@ selected.",[options objectAtIndex:row]);
}
@接口NVHomeViewController:UIViewController
NSArray*选项;
-(无效)viewDidLoad
{
[超级视图下载];
选项=@[@“a”、@“b”、@“c”、@“d”];
}
-(NSInteger)pickerView中组件的编号:(UIPickerView*)pickerView{
返回1;
}
-(NSInteger)pickerView:(UIPickerView*)pickerView行数组件:(NSInteger)组件{
返回[选项计数];
}
-(NSString*)pickerView:(UIPickerView*)pickerView标题箭头:(NSInteger)组件行:(NSInteger)组件{
返回[选项对象索引:行];
}
-(void)pickerView:(UIPickerView*)pickerView didSelectRow:(NSInteger)row不完整项:(NSInteger)组件{
NSLog(@“%@选定。”,[options objectAtIndex:row]);
}

假设您有一个字典或两个数组保存静态数据。为了简单起见,我将使用一个非常简单的数组

必须修改视图控制器接口定义,以告知程序视图控制器可以向选择器视图提供数据和委派

@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource>
@接口NVHomeViewController:UIViewController
不只是实现几个方法就可以了,但是应该检查文档中是否有其他可选的方法,但这些方法提供了更多的定制和控制

@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource>

NSArray *options;
- (void)viewDidLoad
{
    [super viewDidLoad];
    options = @[@"a",@"b",@"c",@"d"];
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return [options count];
}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return [options objectAtIndex:row];
}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    NSLog(@"%@ selected.",[options objectAtIndex:row]);
}
@接口NVHomeViewController:UIViewController
NSArray*选项;
-(无效)viewDidLoad
{
[超级视图下载];
选项=@[@“a”、@“b”、@“c”、@“d”];
}
-(NSInteger)pickerView中组件的编号:(UIPickerView*)pickerView{
返回1;
}
-(NSInteger)pickerView:(UIPickerView*)pickerView行数组件:(NSInteger)组件{
返回[选项计数];
}
-(NSString*)pickerView:(UIPickerView*)pickerView标题箭头:(NSInteger)组件行:(NSInteger)组件{
返回[选项对象索引:行];
}
-(void)pickerView:(UIPickerView*)pickerView didSelectRow:(NSInteger)row不完整项:(NSInteger)组件{
NSLog(@“%@选定。”,[options objectAtIndex:row]);
}

体面代码示例的链接不可用。我把它从你的回答中删除了。体面的代码示例的链接不可用。我把它从你的答案中删除了