创建一个较小的UIPickerView以在表中使用

时间:2013-09-25 20:02:45

标签: iphone ios uitableview uipickerview

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

我想要达到的目标如下: enter image description here

我在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)

Picker Frame和Cell Height设置为100 Picker Frame and Cell Height set to 100

1 个答案:

答案 0 :(得分:1)

尝试缩小UIPickerView的“高度”

myPickerView.transform = CGAffineTransformMakeScale(0.7, 0.7);