弹出框的最大尺寸

Posted

技术标签:

【中文标题】弹出框的最大尺寸【英文标题】:Maximum size of a popover 【发布时间】:2010-08-18 08:39:32 【问题描述】:

谁能确认popoverview的最大尺寸?

谢谢

【问题讨论】:

【参考方案1】:

来自setPopoverContentSize: 文档:

更改弹出框内容的大小时,您指定的宽度值必须至少为 320 磅且不超过 600 磅。高度值没有限制。但是,您指定的宽度和高度值都可以进行调整,以确保弹出窗口适合屏幕并且不会被键盘覆盖。

【讨论】:

【参考方案2】:

我发现 585 似乎是最大值,再大一点,随着每次尺寸变化,整个东西都会向左移动。

【讨论】:

【参考方案3】:

我刚刚验证此代码适用于 iPad 1 和 iPad 4(这意味着它在 ios 5.1.1 - 6.1.2 中受支持)

popover = [[UIPopoverController alloc] initWithContentViewController:yourVC];
    [popover setPopoverContentSize:CGSizeMake(1024, 1024)];

    [popover presentPopoverFromRect:CGRectZero
                                       inView:appDelegate.splitViewController.view
                     permittedArrowDirections:UIPopoverArrowDirectionAny
                                     animated:YES];

您应该注意,弹出框很难消除,因为它会以纵向或横向“填满屏幕”。我的 appDelegate.splitViewController 中确实有这些方法:

- (BOOL)shouldAutomaticallyForwardRotationMethods 

    NSLog(@"MG - shouldAutomaticallyForwardRotationMethods");
    return YES;


- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers 

    NSLog(@"MG - automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers");
    return YES;

只需取消隐藏/隐藏您的 VC 角落中的按钮即可关闭:

[popover dismissPopoverAnimated:YES];

还应该注意,“popover”是一个强属性,否则当它尝试呈现时你会得到一个 deallocated 消息。

【讨论】:

以上是关于弹出框的最大尺寸的主要内容,如果未能解决你的问题,请参考以下文章