我的iPad應用程序中有一個相當簡單的視圖層次結構。在自動旋轉後向子視圖發送消息
窗口 - > RootView - >的TableView /的DetailView
TableView中和的DetailView是添加作爲子視圖(按溶液到前面的問題)兄弟姐妹。 啓動時TableView在前面。當你選擇一個單元格時,應用程序委託中的方法被調用,將它們交換出來,將DetailView放在前面。 DetailView中的關閉按鈕反過來。
工程很好。
但是...... 的DetailView包含一個UIScrollView,在的.xib 繪製當的DetailView談到前我有收到的,其選擇觸發改變的單元格的內容細節的方法。這將使用標籤內容和圖像填充詳細視圖。 這些標籤是IBOutlets到.xib中標籤的簡單設置器。 圖像的大小設置爲UIScrollView的高度,保持高寬比。這是以編程方式完成的,將它添加到添加到UIScrollView的UIImageView中。
我對肖像的行爲是好的。 當它旋轉到風景時,我想調整圖像的大小以匹配封閉UIImageView(以及隨後的封閉UIScrollView)的寬度。 我有一些偉大的代碼來實際調整圖像的類別除了從UIImage的[鏈接]的(禮貌[1]
問題... ... 只有RootViewController的響應呼叫didRotateToInterfaceOrientation。 我需要從這個消息發送到DetailViews控制器上的一個方法,告訴它調整圖像的大小然後重畫相關的UIImageView。 引用子視圖的控制器看起來應該很簡單,可能我錯過了一個簡單的答案。使用:
[[self.view.subviews objectAtIndex:1] didRotateFromInterfaceOrientation:fromInterfaceOrientation];
and
[self.view viewWithTag:[[self.view.subviews objectAtIndex:1] tag]]
但他們都返回視圖不是視圖控制器,因此當我嘗試運行時,對選擇器感到憤怒。
任何人都可以指點我嗎?