【问题标题】:Segue passing data but not animating the ViewController presentationSegue 传递数据但不为 ViewController 演示设置动画
【发布时间】:2014-04-01 22:50:40
【问题描述】:

我有这个问题: 我有两个 ViewController。 我正在使用 Segue 过渡到第二个视图。
用户在第一个视图控制器上输入他的名字并点击一个按钮。如果文本为零,则不应显示第二个视图控制器。如果文本字段上有一些文本 - 它必须显示下一个视图控制器。

我正在检查下面的文本长度。因为我只有一个转场......我没有检查转场标识符。

而且,在 Storyboard 上,我提供了模态转换 CoverVertical。动画不工作。视图刚刚出现。 UIModalTransitionStyle 我也试过了。仍然无法正常工作(在设备和模拟器上)

-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
{
    if(playerNameTextField.text.length == 0)
    {
        UIColor *tempColor=UIColorFromRGB(0xFF4981);
        [self colorizeTextViewForAWhile:playerNameTextField withUIColor:tempColor animated:YES];
        return NO;
    }    
    return YES;
}

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"segueMoveToHome"])
    {
        ViewController *vc = (ViewController *)segue.destinationViewController;
        vc.playerName=playerNameTextField.text;
    }
}

【问题讨论】:

  • 您是否在shouldPerformSegueWithIdentifier: 中设置了断点并单步执行?检查playerNameTextField 是否不为零 - 如果是,您可能忘记在 IB 中绑定 IBOutlet
  • 是的。是的。我放了断点。除了过渡动画,一切都很完美。和我给了 YES 的过渡标志。
  • 好的。也许你可以澄清你的问题。您的标题暗示第二个视图没有显示,但问题似乎是过渡没有动画?
  • 在情节提要中,您是否检查了 animates 复选框已选中?我说的是segue
  • 我已删除标识符文本并继续。因为这是唯一的转场或任何其他原因......它正在工作。如果我把segue ......它不起作用。 :|没有把握。但我现在可以运行我的应用了。

标签: ios uiviewcontroller segue


【解决方案1】:

您的代码运行良好。我刚刚复制并使用 CoverVertical 进行了过渡。

在 Interface Builder 中,选择 Storyboard Segue 并确保您拥有:

我是 linking 你是一个迷你演示,你的代码可以工作。

【讨论】:

  • 谢谢加布。我已删除标识符文本并继续。因为这是唯一的转场或任何其他原因......它正在工作。如果我把segue ......它不起作用。 :|没有把握。但我现在可以运行我的应用了。
【解决方案2】:

我已删除标识符文本并继续。因为这是唯一的转场或任何其他原因......它正在工作。如果我把segue...它不起作用。 :|没有把握。但我现在可以运行我的应用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多