弹出框大小无法更改,并且看起来高度错误

Posted

技术标签:

【中文标题】弹出框大小无法更改,并且看起来高度错误【英文标题】:Popover size couldn't be changed and looks with wrong height 【发布时间】:2012-11-24 03:53:19 【问题描述】:

我正在使用iPad 应用程序。我试图通过单击按钮显示UIPopOverController。但是,当我使用以下代码执行此操作时,它看起来弹出的高度错误。

这是我的代码。

self.contentSizeForViewInPopover = CGSizeMake(320, 500);
SignatureViewController *signatureViewController = [[SignatureViewController alloc]initWithNibName:@"SignatureViewController" bundle:nil];
signatureViewController.delegate = self;
signatureViewController.title = @"Draw Signature";

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:signatureViewController];

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navController];

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)];
[signatureViewController.navigationItem setRightBarButtonItem:doneButton];

[popover presentPopoverFromRect:signatureImageView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
self.popOverController = popover;

我的弹出框看起来像这样。

它也显示在导航栏上。我在代码中做错了什么?任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

你可以在这里检查几件事:

self.contentSizeForViewInPopover = CGSizeMake(320, 500); 确实应该在您的 signatureViewController 定义中(例如 viewDidLoad) 尝试将UIPopoverArrowDirectionDown 更改为UIPopoverArrowDirectionAny。考虑到位置和向下箭头的要求,可能没有足够的空间来显示该弹出框

【讨论】:

以上是关于弹出框大小无法更改,并且看起来高度错误的主要内容,如果未能解决你的问题,请参考以下文章

当作为弹出框触发时更改 MasterViewController 的大小

在缩小弹出框的内容大小时防止伪影

弹出框内容视图的额外高度

当 UIViewController 显示弹出框时,更改 CALayer 颜色与 UIView tintColor 同步

更改弹出框标题的字体类型

没有箭头无法定位弹出框