-3

我有一个 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];
}

在我调用它之后,选择器就坐在我想要它的位置 - 直到现在一切都很完美。

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

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

4

3 回答 3

0

为此不需要不同的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 {
}

希望你能理解。

谢谢。

于 2013-03-15T12:35:40.483 回答
0

你需要添加 <UIPickerViewDataSource, UIPickerViewDelegate>你的.h file ,也delegate and datasource of UIPickerView像自我一样给予,

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

并实现delegate and datasource of UIPickerView.

于 2013-03-15T12:22:23.440 回答
0

解决了,没有使用另一个笔尖的选择器,而是以编程方式创建它。

于 2013-03-15T12:30:01.513 回答