我的容器视图控制器显示一系列子视图,每个子视图都有自己的UIViewController
。当按下其中一个子视图上的按钮时,我需要显示UIActionSheet
。
从父视图控制器的工具栏显示此操作表的正确方法是什么? iOS 5的新容器视图控制器支持是否提供了一种简单的方法来实现此目的?或者我应该使用委托让容器控制器知道按钮被按下了吗?
答案 0 :(得分:0)
我在这个问题上没有超级经验,但你不能只将parentViewController
属性作为UIActionSheet的代表传递吗?在提交活动表时,传递parentViewController
的属性,例如它的视图或工具栏?
但是,从工程角度来看,我更喜欢你使用委托的想法。读取视图控制器的代码作为UIActionSheet的委托似乎很奇怪,但不知道为什么它首先显示。
答案 1 :(得分:-1)
我在容器ViewController的topViewController
(称为FavoritosViewController
)中遇到了同样的问题。
在实现容器ViewController之前,我在FavoritosViewController
中使用UITabBarViewController;
并使用以下方法从标签栏显示UIActionSheet
:
[actionSheet showFromTabBar:self.tabBarController.tabBar];
当我修改项目的结构以使用容器ViewController而不是tabBar时,它崩溃了。但可能是由于现在没有tabBar。它正确地替换了前一个方法:
[actionSheet showInView:self.view];
希望有用。新年快乐。