iPad应用程序中的UIView框架更改坐标

Posted

技术标签:

【中文标题】iPad应用程序中的UIView框架更改坐标【英文标题】:UIView frame changing coordinates in iPad app 【发布时间】:2012-02-13 01:03:56 【问题描述】:

strong text我有一个 iPad 应用程序,它只允许横向方向,并以横向方向启动。我有一个UIViewController 并在viewDidLoad 中设置了视图的框架:

self.view.frame = CGRectMake(0, 0, 1024, 728);

在同一 UIViewControllertouchesBegan 函数中,我打印出视图:

NSLog(@"%@",self.view);

当我点击屏幕时得到:

<UIView: 0x37e370; frame = (0 0; 768 1024); transform = [0, 1, -1, 0, 0, 0]; layer = <CALayer: 0x37e3d0>>

如您所见,框架更改为 [0,0,768,1024](即 iPad 纵向)而不是 [0,0,1024,728](我在 viewDidLoad 中将其定义为方法)。

为什么它会打开我?

【问题讨论】:

【参考方案1】:

这与您的另一个问题有关,不是吗? iPad Landscape messing up touches began

引用你的答案: "就是,在定义UIWindow的时候,需要定义为

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

而不是严格的坐标。 "

【讨论】:

以上是关于iPad应用程序中的UIView框架更改坐标的主要内容,如果未能解决你的问题,请参考以下文章

嵌套 UIView 调整大小

将 UIView 坐标从纵向转换为横向,反之亦然

在 UIView 中查找特定点

如何像在 Evernote 应用程序中一样从 iPad 屏幕底部显示 UIView

关于 UIScrollView 和更改 UIView 所有权的一些帮助

在 iPad UIView 中构建甘特图