我在UIPopoverController中使用UIPopoverController遇到了一个奇怪的问题。我编写此任务的代码如下:
UIPickerView *select = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
select.delegate = self;
select.dataSource = self;
UIViewController *sortViewController = [[UIViewController alloc] init];
sortViewController.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
sortViewController.view = select;
sortViewController.preferredContentSize = CGSizeMake(320, 216);
self.provincePickerPopover = [[UIPopoverController alloc] initWithContentViewController:sortViewController];
self.provincePickerPopover.popoverContentSize = CGSizeMake(320, 216);
self.provincePickerPopover.delegate = self;
[self.provincePickerPopover presentPopoverFromRect:self.provinceField.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];问题是当弹出程序启动时,发生以下错误:
[UIPickerView setFrame:]: invalid height value 229.0 pinned to 216.0 显然,在我的代码中,我从未使用229表示UIPickerView的高度。我怎么才能解决这个问题?
谢谢
发布于 2015-09-04 17:25:04
添加选择器视图作为UIViewController视图的子视图。这样就可以消除错误了。所以,像这样:
...
UIViewController *sortViewController = [[UIViewController alloc] init];
sortViewController.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
[sortViewController.view addSubview:select]
sortViewController.preferredContentSize = CGSizeMake(320, 216);
...https://stackoverflow.com/questions/32072809
复制相似问题