iPad风景开始变得混乱

时间:2012-02-13 00:28:25

标签: ipad uiview touches touchesbegan touchesmoved

我的应用程序仅允许在横向方向上使用,并且它在风景中启动。因此,iPad横向时的左上角是(0,0),所以一切正常。

但是,当我拿起“touchesBegan”时......它无法正常工作。只有当我点击iPad的正确三分之二时,它才会接触到它。我知道它与方向有关,因为应用程序实际上只是空白屏幕,只有一个UIView,没有别的。这很简单。没有其他可能导致此问题的问题。

具体来说,如果我在touchesBegan函数中打印出x位置,并且如果使用左侧的主页按钮保持iPad,则宽度为1024.而1024-768为256.这正是x它开始感觉到触摸的位置。 x = 256左边的任何东西都不能感知触摸。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

检查支柱和弹簧,确保接触到的任何东西覆盖整个区域并锁定在四个侧面。

enter image description here

答案 1 :(得分:0)

以编程方式执行,

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
[self.view setFrame:CGRectMake(0.0f, 0.0f, appFrame.size.width, appFrame.size.height)];
return YES; 
// if you want to support only LANDSCAPE mode, use the line below
/*
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight);
*/
}

这会将视图设置为占据整个屏幕。

答案 2 :(得分:-1)

答案是,在定义UIWindow时,需要将其定义为

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

而不是严格的坐标。