为通用视图修改 UIWindow

Posted

技术标签:

【中文标题】为通用视图修改 UIWindow【英文标题】:Modify UIWindow for Universal view 【发布时间】:2012-11-09 14:14:39 【问题描述】:

我目前正在尝试找到一种快速的方法来从 iPhone 应用程序更改为通用应用程序(iPhone、iPad)。 (稍后我将为自定义视图完全重构应用程序以满足通用目标。)我阅读了这个very good blog post,它通过首先删除硬编码的视图大小,然后将 UIWindow 框架设置为 UIScreen 框架,提供了一种直接的方式来做到这一点 - 对于仅使用单个视图的应用程序。他的示例代码是这样的:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    CGRect  rect = [[UIScreen mainScreen] bounds];
    [self.window setFrame:rect];

我将此代码放在我的应用程序 didFinishLaunchingWithOptions 中,但我仍然得到相同的 iPhone 视图,被推到 iPad 的左上角。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

您不需要任何 ifs,也不需要更改窗口上的框架。 相反,当您创建窗口时,请使用:

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

【讨论】:

以上是关于为通用视图修改 UIWindow的主要内容,如果未能解决你的问题,请参考以下文章

为通用 get_context_data 扩展通用视图类

如何将基于视图的 iOS 项目转换为通用版本?

在通用应用程序中,如何将模态视图转换或重用为弹出框?

Django 中的自定义与通用视图

django系列8:优化vote页面,使用通用视图降低代码冗余

ios将ipad应用程序转换为通用显示此错误笔尖但未设置视图出口