我知道這個問題以前已經問過,但是如何根據我在iOS 5中的界面方向支持不同的視圖?取決於iOS上的方向的不同視圖
Apple的示例顯示了一個PortraitViewController和一個LandscapeViewController。 PortraitViewController創建了LandscapeViewController並註冊了自己的旋轉通知。當它接收到旋轉通知時,它會根據當前的界面方向推送或彈出LandscapeViewController。
到目前爲止這麼好。
但我怎樣才能保持數據兩個控制器已同步? (它們顯然顯示相同的數據,因爲它們在技術上與用戶是相同的控制器,只是在橫向和縱向上具有不同視圖)。兩者都有一個「重新載入數據按鈕」,用於重新載入其數據。我如何告訴PortraitViewController在LandscapeViewController重新加載時顯示相同的數據,反之亦然?
另一個問題是內存警告。當界面處於橫向模式並收到內存警告時,我的PortraitViewController被卸載。現在,如果我爲我的LandscapeViewController重新加載數據,那麼PortraitViewController無法做到這一點,因爲它已卸載並且其Outlet仍設置爲零。
我該如何解決所有這些問題?
爲什麼要使用兩個視圖控制器?你不能使用1個視圖控制器,其中有兩個視圖 - 一個是爲肖像創建的,一個是針對景觀的。然後只需檢查負載上的設備方向並顯示相關視圖。然後在'willRotateToInterfaceOrientation'中做同樣的操作來切換哪個視圖可見? – Patrick
然後,我必須將兩個視圖之間共享的所有視圖連接兩次。 – user975561
您的意思是通過segue從縱向/橫向視圖呈現的其他視圖控制器的連接?如果這樣你就可以一次性將其連接到視圖控制器,並通過調用'觸發它們[自performSegueWithIdentifier:@「名」發件人:自我]' – Patrick