Iphone tableViewController上的pickerView

Iphone tableViewController上的pickerView,iphone,xcode,Iphone,Xcode,我有一个UITableViewController,我正试图在上面安装一个UIPicker 我制作了一个按钮来调用此方法: -(void)editTimeClicked:(UIButton *)button{ PickerViewController *pickerVC = [[PickerViewController alloc] initWithNibName:@"PickerViewController" bundle:nil]; UIView *pickerView

我有一个UITableViewController,我正试图在上面安装一个UIPicker

我制作了一个按钮来调用此方法:

-(void)editTimeClicked:(UIButton *)button{

    PickerViewController *pickerVC = [[PickerViewController alloc] initWithNibName:@"PickerViewController" bundle:nil];

    UIView *pickerView = pickerVC.view;
    pickerView.frame = CGRectMake(0, 200, 320, 216);
    [self.view addSubview:pickerView];
}
在我叫它后,采摘者坐在我想要的地方——直到现在一切都很完美

但是当我尝试滚动选取器时,应用程序崩溃了

我没有在scroll上运行的委托方法…可能是什么?

您需要在
.h文件中添加
并将UIPickerView的
委托和数据源设置为与自身类似

pickerView.delegate = self; 
pickerView.dataSource = self;

并实现UIPickerView的
委托和数据源的相关方法

已解决,没有使用来自另一个nib的选择器,而是通过编程方式创建它。

无需为此使用不同的xib

试试这个:

在.h文件中

@property(nonatomic,retain) UIPickerView *pickerView;
在.m文件中

pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(x, y, w, h)];
pickerView.showsSelectionIndicator = YES;
pickerView.delegate = self;
pickerView.dataSource = self;

......

[self.tableView addSubview:pickerView];
选择器视图方法::

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
}

- (void)pickerView:(UIPickerView *)pickerView1 didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
}

-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
}

-(UIView *)pickerView:(UIPickerView *)pickerView1 viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
}
希望,你明白


谢谢。

您实现了picker的datasource和delegate方法吗?是的,在picker nib文件的.h中,崩溃日志是什么?