我的容器視圖控制器提供了一系列子視圖,每個子視圖都有其自己的UIViewController
。當按下其中一個子視圖上的按鈕時,我需要顯示UIActionSheet
。從小孩UIViewController呈現UIActionSheet
什麼是從父視圖控制器的工具欄顯示此操作表的正確方法? iOS 5的新容器視圖控制器支持是否提供了一種簡單的方法來執行此操作?或者我應該使用委託讓容器控制器知道按鈕被按下了?
我的容器視圖控制器提供了一系列子視圖,每個子視圖都有其自己的UIViewController
。當按下其中一個子視圖上的按鈕時,我需要顯示UIActionSheet
。從小孩UIViewController呈現UIActionSheet
什麼是從父視圖控制器的工具欄顯示此操作表的正確方法? iOS 5的新容器視圖控制器支持是否提供了一種簡單的方法來執行此操作?或者我應該使用委託讓容器控制器知道按鈕被按下了?
我在這個問題上沒有超級經驗,但是不能僅僅通過parentViewController
屬性作爲UIActionSheet的代表嗎?並且在呈現動作表時,傳遞parentViewController
的屬性,例如,它的視圖還是工具欄?
儘管如此,從工程學的角度來看,我更喜歡使用委派的想法。看到作爲UIActionSheet代理的視圖控制器的代碼看起來很奇怪,但不知道它爲什麼顯示在第一位。
我在容器ViewController的topViewController
(稱爲FavoritosViewController
)中遇到同樣的問題。
之前以實現所述容器的ViewController,我用在一個UITabBarViewController;
FavoritosViewController
以及使用該方法顯示從標籤欄的UIActionSheet
: [actionSheet showFromTabBar:self.tabBarController.tabBar];
當我修改的項目的結構使用一個容器的ViewController代替tabBar,它崩潰了。但可能由於現在沒有tabBar。它適用於替代此方法的前一個: [actionSheet showInView:self.view];
希望有用。新年快樂。
好問題。根據我的理解,沒有比代表團更簡單的方法。但有人可能會更聰明... – ilmiacs