0

我對iOS 3.0編碼,我試圖向我的應用程序添加旋轉(橫向)支持。視圖和按鈕旋轉後未響應觸摸

關於旋轉的一切都很簡單。但是,從肖像旋轉到橫向模式後,屏幕右側的三分之一(480-320)對所有事件(觸摸,拖動等)都沒有響應。我已驗證關鍵窗口正在接收事件,但這些事件並未傳遞到屏幕右側(橫向)的按鈕和UIViews。

我正在使用NSNotificationCenter接收方向已更改的事件(並且未使用自動旋轉標誌)。

我看過:link text但這對我的情況並不是很有幫助。

卡住了。需要幫忙。謝謝。

回答

1

我修復了我遇到的問題..我基本上需要做[self.navigationController.view setNeedsLayout]

的方式我明白這一點(這也許不正確是self.navigationController.view.frame是相同self.view.frame兩者均爲等於(X = 0,Y = 0,寬度= 320,高度= 480)。然後,我通過M_PI/2旋轉self.view和在選擇self.view.subviews上做了一些幀操作,以使所有的東西都能正確動畫/定位/縮放。

這樣的結果沒問題,但導航控制器並不願意承認觸摸事件的部分self.view那裏在本質上,如果這個self.navigationController.view.clipsToBounds是真的,它可能甚至沒有顯示self.view的那部分。

無論如何,在導航控制器的視圖上設置setNeedsLayout解決了問題。我希望這可以幫助別人。