Segue 传递数据但不为 ViewController 演示设置动画
Posted
技术标签:
【中文标题】Segue 传递数据但不为 ViewController 演示设置动画【英文标题】:Segue passing data but not animating the ViewController presentation 【发布时间】: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 ......它不起作用。 :|没有把握。但我现在可以运行我的应用了。
【参考方案1】:
您的代码运行良好。我刚刚复制并使用 CoverVertical 进行了过渡。
在 Interface Builder 中,选择 Storyboard Segue 并确保您拥有:
我是 linking 你是一个迷你演示,你的代码可以工作。
【讨论】:
谢谢加布。我已删除标识符文本并继续。因为这是唯一的转场或任何其他原因......它正在工作。如果我把segue ......它不起作用。 :|没有把握。但我现在可以运行我的应用了。【参考方案2】:我已删除标识符文本并继续。因为这是唯一的转场或任何其他原因......它正在工作。如果我把segue...它不起作用。 :|没有把握。但我现在可以运行我的应用了。
【讨论】:
以上是关于Segue 传递数据但不为 ViewController 演示设置动画的主要内容,如果未能解决你的问题,请参考以下文章
使用 IBAction 将数据传递到另一个视图控制器而无需 segue swift