2012-12-10 17 views
0

我在模擬器(5.1和6.0)和我的設備(運行iOS6.0的iPad2)上看到了我的iPad應用程序的怪異行爲。無論應用程序啓動的方向如何,touchesBegan僅在本地區(0,0) - (767,767)觸發新觸摸 - 縱向模式下屏幕底部不響應,橫向右側響應。 但是,touchesMoved & touchesEnded在整個顯示器上工作 - 如果我觸摸並拖動到「損壞」區域,則會收到觸摸釋放事件。touchesBegan只在768x768像素矩形內發射

我進一步指出,雖然在iOS 6 模擬器我的應用程序看起來正確的,即使它不工作的權利,在iOS 5.1模擬器呈現也有點搞砸了最初太: Initially starting in landscape Initially starting in portrait

整個顯示器應該是灰色的,並且該滑塊位於右下角。再次,768似乎在這裏具有魔力。旋轉幾次可以解決這個渲染問題,但不是輸入問題......以縱向模式啓動並旋轉180度,現在看起來正確,但頂部停止響應而不是底部。

這裏有一個第三部分庫,所以我的主要問題是什麼可能會導致這種問題,我應該尋找什麼?我也好奇,爲什麼這兩個仿真得到不同的結果

回答

0

如果你touchesBegantouchesMoved,並且touchesEnded所有在您self.view內尋找一個位置,那麼你可能無法在正確的幀區需要接受的觸動。我剛剛有一個類似的問題,我明確地改變了幀的大小使用:

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

因爲我的遊戲是兩個屏幕高。重新調整幀大小後,touchesBegan工作正常。希望這有助於!