【问题标题】:Presenting a UIActionSheet from a child UIViewController从子 UIViewController 呈现 UIActionSheet
【发布时间】:2012-09-27 13:28:30
【问题描述】:

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

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

【问题讨论】:

  • 好问题。据我了解,没有比委托更简单的方法了。但有人可能更聪明......

标签: iphone ios cocoa-touch ios5 uiactionsheet


【解决方案1】:

我对这个问题不是很有经验,但你不能将parentViewController 属性作为 UIActionSheet 的代表传递吗?并且在呈现操作表时,传递parentViewController 的属性,例如它的视图或工具栏?

不过,从工程的角度来看,我更喜欢您使用委托的想法。阅读充当 UIActionSheet 代表的视图控制器的代码似乎很奇怪,但不知道为什么首先显示它。

【讨论】:

    【解决方案2】:

    我在容器 ViewController 的topViewController(称为FavoritosViewController)中遇到了同样的问题。

    在实现容器 ViewController 之前,我在 UITabBarViewController; 中使用了 FavoritosViewController,并使用以下方法从标签栏中显示了 UIActionSheet[actionSheet showFromTabBar:self.tabBarController.tabBar];

    当我修改项目的结构以使用容器 ViewController 而不是 tabBar 时,它崩溃了。但可能是因为现在没有 tabBar。用这种方法代替前一种方法可以正常工作: [actionSheet showInView:self.view];

    希望有用。新年快乐。

    【讨论】:

      猜你喜欢
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多