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