Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 创建较小的UIPickerView以在表中使用_Iphone_Ios_Uitableview_Uipickerview - Fatal编程技术网

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

Iphone 创建较小的UIPickerView以在表中使用,iphone,ios,uitableview,uipickerview,Iphone,Ios,Uitableview,Uipickerview,我正在尝试创建一个较小的UIPickerView,以便在表中使用,但我无法确定如何正确调整实际控件的大小 我试图实现的目标如下: 我正在cellForRowAtIndexPath:方法中创建选择器: cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]; cell.accessoryType = UITableViewCellAccessoryNone; c

我正在尝试创建一个较小的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)的结果

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

选择器框架和单元格高度设置为100 尝试缩小UIPickerView的“高度”

myPickerView.transform = CGAffineTransformMakeScale(0.7, 0.7);
尝试缩小UIPickerView的“高度”

myPickerView.transform = CGAffineTransformMakeScale(0.7, 0.7);

这使得拾荒者完全消失了。如果我将比例更改为(1,0.7),那么它确实会使它变短(使用压扁的文本,但我可以使用图像修复),但它仍然不会将它放在单元格中更高的位置-因此我得到了您在抱歉中看到的“0”(而不是“1”)。。打字错误;我已经在iOS7中进行了检查-你是对的;我仍然在为iOS5-6使用这个“技巧”,并且工作得很好;我们必须为iOS7I找到一个新的“和平”解决方案。我再次检查了(Xcode 5.0.1),上面的代码运行良好,使选择器完全消失。如果我将比例更改为(1,0.7),那么它确实会使它变短(使用压扁的文本,但我可以使用图像修复),但它仍然不会将它放在单元格中更高的位置-因此我得到了您在抱歉中看到的“0”(而不是“1”)。。打字错误;我已经在iOS7中进行了检查-你是对的;我仍然在为iOS5-6使用这个“技巧”,并且工作得很好;我们必须为iOS7I找到一个新的“和平”解决方案。我再次检查了(Xcode 5.0.1),上面的代码运行良好