在执行自定义 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的主要内容,如果未能解决你的问题,请参考以下文章