禁用单个故事板?

时间:2012-10-17 15:12:48

标签: objective-c ios xcode storyboard uiswipegesturerecognizer

是否有一种基于条件禁用单个故事板场景的简单方法?

我正在检查是否为我的应用启用了位置服务:

[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied

如果上述情况属实,那么我想禁用我创建的场景以及相关的segue到达那个场景(我正在使用左/右滑动手势)。

**更新:我混淆了多个场景的多个故事板......我的问题已经更新以反映这一点。我想要在故事板中禁用特定场景,而不是故事板。

2 个答案:

答案 0 :(得分:1)

要执行您想要的操作,您应该在视图控制器中编写一个操作,该操作使用您设置的条件来选择要切换到的场景(或根本不选择)。不要让按钮或手势触发推送segue - 让它在视图控制器中触发操作,以便您可以选择代码中的下一个场景。

你可以在storyboard文件中设置segue,这一切都很好,并且它是一个很棒的演示,但是当你想在运行时确定目标场景时,你需要在代码中这样做。

答案 1 :(得分:0)

我最后从这篇文章中提示:https://stackoverflow.com/questions/8309104/enable-disable-swiper-gesture-or-view-change-in-storyboard

我刚刚在标题中创建了一个轻滑手势的IBOutlet,并将以下代码放在if语句中,该语句检查用户是否启用了位置服务,并将其连接到IB中的segue:

swipe.enable = NO;

感谢所有人的帮助!