0

我發現了Android的問題,但找不到Xcode,所以我創建了一個新問題。Xcode視圖無法處理改變方向後的點擊事件

我有一個VC有三個子視圖。在橫向模式 - >圖像視圖(左),圖像細節視圖(中)和右側的相關項目tableview。在縱向模式下,圖像視圖保留在左上角,圖像細節位於右上角,但相關的桌面視圖位於圖像視圖下方。我正在通過以下代碼處理輪換。

- (void) updateLayoutForNewOrientation: (UIInterfaceOrientation) orientation { 
    CGRect detailsFrame = self.detailsView.frame; 
    CGRect relatedFrame = self.relatedView.frame; 
    if (UIInterfaceOrientationIsLandscape(orientation)) { 
    detailsFrame.origin.x = 300.0f; 
    detailsFrame.origin.y = 69.0f; 
    relatedFrame.origin.x = 709.0f; 
    relatedFrame.origin.y = 20.0f; 
} else { 
    detailsFrame.origin.x = 330.0f; 
    detailsFrame.origin.y = 50.0f; 
    relatedFrame.origin.x = 10.0f; 
    relatedFrame.origin.y = 400.0f; 
} 
self.detailsView.frame = detailsFrame; 
self.relatedView.frame = relatedFrame; 
} 

現在我的問題是,我可以在橫向模式下單擊表格單元格或圖像視圖,但無法單擊縱向模式下的tableview單元格。我花了足夠的時間找出可能出錯的地方,但找不到任何解決辦法。

回答

1

方向也是在xib而不是代碼中處理的。所以請在界面構建器中設置正確的自動調整掩碼。請參閱圖表以獲得更好的理解。

autoresizing masks
如果您有疑問,請問我。

+0

謝謝吉瑞斯。我可以在旋轉後正確顯示視圖,但我無法點擊圖像視圖(它有一個UIButton,它打開預覽頁面) –

+0

爲每個視圖提供不同的背景色並檢查它是否適用於兩個方向這給我們更多的澄清。嘗試一下並給我你的反饋。 – Girish

+0

你是對的。更改bgcolor後,我可以看到視圖已移動,但其中的內容位於正確的位置。將視圖與子視圖綁定的最佳方式是什麼,以便兩者一起旋轉? –