我有必要在执行segue之前设置一些参数,所以我必须使用CUSTOM SEGUE,对吗? 在这种情况下,我会进行从屏幕到另一个屏幕的过渡动画,但我没有NavigationController(我不想插入一个!)
是否可以不使用NavigationController并使用自定义segue更改视图?
另外,有可能为按钮设置动作并执行一些代码行来执行segue? 我找到了这个解决方案:
(IBAction)showDetailView:(id)sender {
//代码
.....
[self performSegueWithIdentifier:@“ShowDetail”sender:sender];
}
但它需要导航控制器......
谢谢大家,抱歉我的坏人!
答案 0 :(得分:0)
当您在Storyboard中创建segue时,选择“modal”而不是“push”(自定义指的是我认为您不需要的第三种类型)。选择segue并使用属性检查器为其命名。在我的代码示例中,我使用名称“editTitleBlock”。
要在目标视图控制器(将是模态视图控制器)上设置属性,请将prepareForSegueMethod放在第一个视图控制器中,如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"editTitleBlock"]) {
[[segue destinationViewController] setTitleFieldString: @""];
[[segue destinationViewController] setAltitudeFieldString:currentLocation.localizedAltitudeString];
[[segue destinationViewController] setLocationFieldString:currentLocation.localizedCoordinateString];
[[segue destinationViewController] setAuthorString:userName];
if ([[segue identifier] isEqualToString:@"cancel"]) {
// do nothing special
}
}
返回第一个视图控制器使用:
[self dismissModalViewController animated:YES];