【发布时间】: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