从子UIViewController呈现UIActionSheet

时间:2012-10-06 18:00:08

标签: iphone ios cocoa-touch ios5 uiactionsheet

我的容器视图控制器显示一系列子视图,每个子视图都有自己的UIViewController。当按下其中一个子视图上的按钮时,我需要显示UIActionSheet

从父视图控制器的工具栏显示此操作表的正确方法是什么? iOS 5的新容器视图控制器支持是否提供了一种简单的方法来实现此目的?或者我应该使用委托让容器控制器知道按钮被按下了吗?

2 个答案:

答案 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];

希望有用。新年快乐。