gpt4 book ai didi

iOS:在更改 View 之前设置属性

转载 作者:行者123 更新时间:2023-11-28 18:37:35 26 4
gpt4 key购买 nike

我设置了一个 IBAction 以在选择表格行并按下完成按钮后更改 View 。

但是,当我运行 presentViewController:animated 时,我失去了我的 navigationController。

然后我就没有办法去任何地方,然后如果我改为“performSegueWithIdentifier”我的属性不会保存..所以没有值被传递......例如:

 ViewController *addViewController = (ViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"V_SignIn"];
addViewController.LoadAction = @"NoSession";
[addViewController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:addViewController animated:YES completion:NULL];

^^ 该代码有效但删除了我的导航工具栏...

ViewController *addViewController = [[ViewController alloc] init];
addViewController.LoadAction = @"TEST";
[self performSegueWithIdentifier:@"segue" sender:self];

^^ 这很好地执行了 segue,但是当我在新 View 中对它进行 NSLog 时,'LoadAction' var 等于 (NULL)。

基本上,我如何设置@property 而无需使用 addViewController var 更改 View ?谢谢。

最佳答案

在您的第一个场景中,您需要在导航 Controller 上使用 -pushViewController:animated: 而不是 -presentViewController:animated:completion: 以避免隐藏它(相反,您将使用 -popViewController:animated:(也在导航 Controller 上调用)来关闭它,而不是 -dismissViewControllerAnimated:completion:):

ViewController *addViewController = (ViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"V_SignIn"];
addViewController.LoadAction = @"NoSession";
[self.navigationController pushViewController:addViewController animated:YES];

正如 Wain 所说,在第二种情况下,您需要在 -prepareForSegue:sender: 中配置 addViewController,如下所示:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"segue"]) {
ViewController *addViewController = (ViewController*)segue.destinationViewController;
// perform setup on addViewController
addViewController.LoadAction = @"TEST";
// ...
} else if ([segue.identifier isEqualToString:@"someOtherSegue"]) {
// ...
}
}

关于iOS:在更改 View 之前设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16136769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com