ios - 如何使用代码显示SomeViewControler?

标签 ios cocoa-touch ios5 ios6 segue

我对 Xcode 和 iOS 开发是全新的。 我试图弄清楚如何根据按钮单击打开/显示一些 View 。 我知道我可以使用 ctrl + 鼠标单击一些使用 segue 的 ViewController 来完成此操作,但我需要在之前添加一些逻辑。 我怎样才能做到这一点?

最佳答案

有两种方法可以让 Segues 发挥作用。

您可以按住 Ctrl 键从按钮拖动到新的 ViewController(就像您所做的那样),也可以按住 Ctrl 键从一个 ViewController 拖动到新的 ViewController(从 VC 下方栏中的橙色小方形图标拖动)。

对于这两种方式,您都可以在创建的 segue 上设置标识符。这用于在代码中引用它。

当您执行第一种方式时,您会说“按下此按钮时,移动到此 ViewController”。这意味着只要按下该按钮,它就会移动到新的 VC。

第二种方式只是告诉 Storyboard ,将会有一个过渡到新的 VC。要运行它,您需要向按钮添加 IBAction(而不是 segue)。

在按钮的操作中,您可以...

- (IBAction)buttonPressed:(id)sender
{
    if (someConditionToCheckMoveToNewVC)
    {
        [self performSegueWithIdentifier:@"mySegue" sender:nil];
    }
}

只有当您检查的条件为真时,才会执行该segue。

您还可以像这样将信息传递给新的 VC...

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NewViewController *nvc = segue.destinationViewController;

    nvc.someProperty = @"blah";
}

这将在转换到新 VC 之前设置该属性。

关于ios - 如何使用代码显示SomeViewControler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12690565/

相关文章:

iphone - ios5 上的自动释放替代方案

ios - 如何从 View Controller 中包含的 View 调用方法?

ios - 如何制作具有默认文本的 IOS 8 共享扩展

ios - 防止触摸从 UIControl 传递到 ParentView

ios - 如何在两个独立的图层上绘制iOS,coregraphics

ios - 在 iOS 应用中使用 AdMob

ios - CAGradientLayer 显示完全半透明

ios - 如何检查给定字符位于 Swift 3.0 中的 A 到 Z 之间?

ios - 以秒为单位的 UTC 到本地时间

animation - iOS5 CGAffineTransformMakeRotation 在我第二次执行时不起作用?