1

我正在尝试创建一个较小的 UIPickerView 以在表格中使用,但我无法弄清楚如何正确调整实际控件的大小。

我想要实现的是以下内容: 在此处输入图像描述

我在 cellForRowAtIndexPath: 方法中创建我的选择器:

    cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    cell.accessoryType = UITableViewCellAccessoryNone;
    cell.contentView.clipsToBounds = YES;

    UIPickerView *myPickerView = [[UIPickerView alloc] initWithFrame:
                                  CGRectMake(0, 0, cell.frame.size.width, 85)];

    myPickerView.delegate = self;
    myPickerView.showsSelectionIndicator = YES;
    [myPickerView selectRow:3 inComponent:0 animated:YES];

    [cell.contentView addSubview:myPickerView];

无论我将高度设置为什么,我都会得到相同大小的 UIPickerView。第一张图片的高度为 85。第二张图片的高度为 200。

我可以做的一件事是更改单元格高度,但是如果我这样做并将 UIPickerView 的高度设置为与单元格高度相同的值,则选择器不会在单元格中居中并且实际的触摸控制点就在附近单元格的底部。这篇文章中的最后一张图片说明了这一点......

“CGRectMake(0, 0, cell.frame.size.width, 85)”的结果 GRectMake(0, 0, cell.frame.size.width, 85)

“CGRectMake(0, 0, cell.frame.size.width, 200)”的结果 CGRectMake(0, 0, cell.frame.size.width, 200)

选择器框架和单元格高度设置为 100 选择器框架和单元格高度设置为 100

4

1 回答 1

1

尝试缩小 UIPickerView 的“高度”

myPickerView.transform = CGAffineTransformMakeScale(0.7, 0.7);
于 2013-09-26T09:58:06.687 回答