在执行自定义 segue 之前禁用工具栏 UIBarButtonItem
Posted
技术标签:
【中文标题】在执行自定义 segue 之前禁用工具栏 UIBarButtonItem【英文标题】:Disabling toolbar UIBarButtonItem before performing a custom segue 【发布时间】:2014-03-11 01:43:14 【问题描述】:我目前正在尝试执行 ios 垃圾样式自定义 segue,其中涉及同一类的视图控制器的弹出和推送(目标视图控制器通过情节提要实例化。)我想禁用其中一个工具栏在 segue 期间的 UIBarButtonItems,以防止用户在执行垃圾动画时意外单击它。但是,似乎只是调用 self.deleteButton.enabled = NO;不起作用。如果我取出 segue 行,按钮就会被禁用。
【问题讨论】:
你是如何声明按钮的? 它是在故事板中创建的按钮,我将引用出口设置为视图控制器中的 deleteButton 变量。 请在您尝试禁用按钮的地方添加代码,您使用的是prepareForSegue:
吗?
【参考方案1】:
在方法中
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if([[segue identifier] isEqualToString:@"YourView"])
self.btnItem.enabled = NO;
【讨论】:
【参考方案2】:我最终想出了一个解决方案。由于我正在使用自定义动画执行自定义 segue,因此我首先禁用目标视图控制器上的栏按钮,因为它已被推入导航控制器。在我的自定义动画的完成块中,我只是再次重新启用按钮。希望这可以帮助。
【讨论】:
以上是关于在执行自定义 segue 之前禁用工具栏 UIBarButtonItem的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableView 中嵌入的自定义 UICollectionView 中执行 Segue
根据在 TableViews 自定义单元格中点击的图像执行 segue
如何执行从自定义 UITableViewCell(xib) 到另一个 ViewController 的 segue 视图