【发布时间】:2011-06-30 20:24:10
【问题描述】:
我不想调整 PickerView 的高度。我可以使用默认大小,我相信它是 320 x 216。我创建了这段代码来在我的 popovercontroller 中显示一个 pickerView,但是,我在控制台上收到了这些消息:
2
011-06-30 13:18:28.125 MiGenome[64357:207] -[UIPickerView setFrame:]: invalid height value 1024.0 pinned to 216.0
2011-06-30 13:18:28.126 MiGenome[64357:207] -[UIPickerView setFrame:]: invalid height value 448.0 pinned to 216.0
2011-06-30 13:18:28.127 MiGenome[64357:207] -[UIPickerView setFrame:]: invalid height value -16.0 pinned to 162.0
我不知道为什么会这样,因为我试图在弹出窗口中使用选择器默认大小。这是我的代码。谢谢。
- (IBAction)presentSortPopover {
UIViewController *sortViewController = [[UIViewController alloc] init];
UIPickerView *sortPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, sortViewController.view.bounds.size.width, sortViewController.view.bounds.size.height)];
sortViewController.view = sortPickerView;
sortViewController.contentSizeForViewInPopover = CGSizeMake(320, 216);
sortPickerView.delegate = self;
sortPickerView.dataSource = self;
sortPickerView.showsSelectionIndicator = YES;
self.SortPopover = [[UIPopoverController alloc] initWithContentViewController:sortViewController];
[self.SortPopover presentPopoverFromRect:_sortButtonPop.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[sortPickerView release];
[sortViewController release];
}
【问题讨论】:
-
sortViewController 的边界(大小/宽度)是多少?您正在将 UIPickerView 的框架设置为 initWithFrame 方法中的框架;如果它不是您想要的大小,则必须更改 CGRectMake 调用以包含正确的值。
-
是的,我最初也尝试过。我尝试将我的 sortViewController 的框架也创建为 320,216,但我仍然在控制台上看到这些语句。此外,如果我将 216 的高度更改为 500,我不会看到任何变化。如果我更改 contentSizeForViewInPopover 属性,我只会看到更改。
-
祝你好运。我遇到了完全相同的问题。我认为 Popover 正在尝试调整选取器的框架。
标签: iphone uipickerview uipopovercontroller