处理 UIActionSheet
Posted
技术标签:
【中文标题】处理 UIActionSheet【英文标题】:Handling UIActionSheet 【发布时间】:2014-10-31 06:45:17 【问题描述】:在我的应用程序中,我应该有一个共同的 UINavigationBar
来保存 3 个 UIBarButton
项目及其操作。因此,我决定在 BaseViewController
上创建,而不是在每个 ViewControllers 中编写代码,它可以是我的应用程序 ViewControllers 的子类,
之后,实现这个UINavigationBar
并显示其项目正常。在我的 BaseVC 中的一个条形按钮项目中,将显示 UIActionSheet
,当从中选择某些内容时,需要将选定的索引从 BaseVC 获取到 MainVC。所以,我创建了一个自定义协议方法,将选定的操作表索引从 BaseVC 传递给我的 MainVC。
MainVC == FirstViewController
FirstViewController.h FirstViewController.m这种情况也能奏效。但是,如果我在我的 FirstVC 中添加一个或多个 UIActionSheet
,它就会被调用并且工作正常。但是,它禁用了 BaseVC 的 Actionsheet 委托调用。这意味着,它不允许在 BaseVC 上调用委托,
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;
BaseVC 中未触发上述委托。如何同时处理来自不同 VC 的 UIActionSheet
。
对此有什么想法吗?
【问题讨论】:
【参考方案1】:在这种情况下,您必须使用 FirstViewController 方法调用中的逻辑手动调用它。当您知道该调用将由 BaseVC 处理时,您可以通过调用 [super actionSheet:actionSheet clickedButtonAtIndex:buttonIndex]
来执行此操作。
【讨论】:
以上是关于处理 UIActionSheet的主要内容,如果未能解决你的问题,请参考以下文章