c# - 当按钮逻辑失败时在 Storyboard中停止 segue

标签 c# ios xamarin.ios xamarin

我创建了一个新的 Monotouch iOS Storyboard项目。我添加了两个屏幕,其中一个带有按钮。我已经通过一个 push segue 将按钮链接到第二个屏幕。这一切都按预期工作。我现在所做的是向按钮添加一个内部事件方法的修饰,我试图在其中添加一些逻辑来说明是否应该执行 segue。

    partial void LoginButton_click(UIButton sender)
    {
        Random r = new Random();
        if (r.Next(1,2000000) == 33432)
        {
            this.PerformSegue("Push", this);
        } else {
            //Do not perform segue
        }
    }

我在网上看到了很多解释如何使用 PerformSegue 方法的引用资料,但是如果逻辑不正确,我找不到如何在 Storyboard中停止转场。我不应该在 Storyboard 中创建一个 segue 然后以编程方式进行吗?这似乎消除了使用 Storyboard 的巨大好处,尽管它可以查看所有内容如何组合在一起。

最佳答案

您可以实现UIViewController 方法shouldPerformSegue:withIdentifier:

当触发转场时调用此方法,您可以返回一个 bool 值来指示是否应该执行转场。

使用这种方法,您可以将 segue 连接到按钮,并且不需要 touchUpInside 操作处理程序。

关于c# - 当按钮逻辑失败时在 Storyboard中停止 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24161925/

相关文章:

ios - 找不到 Pods.modulemap - 在错误的目录中查找

c# - Xamarin.iOS 上的 sqlite 中的缓慢 SELECT

c# - 适用于 MonoTouch、适用于 Android 和 WP7 的 Mono 的经过身份验证的 WCF 服务

android - 用于 iOS/Android 应用程序通信的基于 TCP 的 RPC 服务器(Erlang 或类似的东西?)

ios - 你如何在 swift 2 中执行 println()

iphone - MonoTouch 中的简单 iPhone 图表应用程序

c# - 为什么Invoke BeginInvoke和EndInvoke在内部类密封的情况下是虚的?

c# - C# 控制台应用程序中的 HTTP Post 不会返回与浏览器请求相同的内容

c# - XSLT 转换 : how to preserve the element's attributes during transform?

c# - 这两种从 Excel 读取字符串的调用/方法有什么区别?