首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIPickerView inside:[UIPickerView setFrame:]:固定的无效高度值

UIPickerView inside:[UIPickerView setFrame:]:固定的无效高度值
EN

Stack Overflow用户
提问于 2015-08-18 12:44:45
回答 1查看 1.4K关注 0票数 0

我在UIPopoverController中使用UIPopoverController遇到了一个奇怪的问题。我编写此任务的代码如下:

代码语言:javascript
复制
    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];

问题是当弹出程序启动时,发生以下错误:

代码语言:javascript
复制
[UIPickerView setFrame:]: invalid height value 229.0 pinned to 216.0 

显然,在我的代码中,我从未使用229表示UIPickerView的高度。我怎么才能解决这个问题?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-04 17:25:04

添加选择器视图作为UIViewController视图的子视图。这样就可以消除错误了。所以,像这样:

代码语言:javascript
复制
 ...
 UIViewController *sortViewController = [[UIViewController alloc] init];
 sortViewController.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];

 [sortViewController.view addSubview:select]
 sortViewController.preferredContentSize = CGSizeMake(320, 216);
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32072809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档