目标C:“后退”按钮无法正常工作

迪恩·莱特斯多夫(Dean Leitersdorf)

我有一个带有2个屏幕的简单应用程序。当我按一个按钮从第一到第二时,一切都成功执行(包括动画)。但是,当我单击第二个屏幕上的“后退”按钮时,收到以下警告:

Warning: Attempt to present <getTextViewController: 0x8f6aa30> on <SecondViewController: 0x946cc80> whose view is not in the window hierarchy!

编辑:请不要将我引向有关上述警告的其他问题-我已经看到了,而他们指的是其他问题。

但是,它仍然切换回第一个屏幕。但是,segue的动画无法执行。另外:当我返回第一个屏幕时,第一个屏幕中的信息(例如输入的文本)仍然保留,而每次出现屏幕时,第二个屏幕中的信息都会重置。

这是我称之为这两种操作的方式:

Segue from View 1 to View 2:
Name: F21, Style: Modal, Transition: Cross Dissolve, Animation: True.

Segue from View 2 to View 1:
Name: F12, Style: Modal, Transition: Cross Dissolve, Animation: True.

getTextViewController.m中的代码(视图1):

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"F21"]){
    UIViewController *v = [segue destinationViewController];
   [self dismissViewControllerAnimated:NO completion:nil];
    v = self;

}
}
-(void)performSegue:(NSString*)str{
[self performSegueWithIdentifier:str sender:self];
}
//In some other method:
[self performSegue:@"F21"];

SecondViewController.m中的代码(视图2):

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([[segue identifier] isEqualToString:@"F12"]){
    UIViewController *v = [segue destinationViewController];
    [self dismissViewControllerAnimated:NO completion:nil];
    v = self;

}
}
-(void)performSegue:(NSString*)str{
[self performSegueWithIdentifier:str sender:self];
}
- (IBAction)goBack:(id)sender {
[self performSegue:@"F12"];

}

我非常感谢您提供任何帮助,以帮助您理解为什么第一个序列有效而第二个序列却无效。

谢谢,

院长

注意:这是完整的项目-https: //github.com/dean13-meet/firstIOSApp编辑:更新了git。

彼得·福蒂

我不确定自己要做什么prepareForSegue,他们不需要解雇那里的VC。如果您想使用一个简单的应用程序,从VC1转到VC2,然后再返回,那么最好的选择是使用segueunwindSegue

因此,在情节提要控件中,从VC1上的按钮拖动到VC2,然后选择您的segue类型。然后在VC1.m中设置展开序列,例如:

 - (IBAction)unwindFromViewController:(UIStoryboardSegue *)segue
 {
    //empty implementation
 }

最后,在VC2控件中,从后退按钮拖动到VC2上的绿色退出图标,然后选择您的unwindFromViewController方法。

那应该做您想要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单选按钮无法正常工作

来自分类Dev

单选按钮无法正常工作

来自分类Dev

关闭fancybox iframe后,Chrome中的“后退”按钮无法正常工作

来自分类Dev

克隆的关闭按钮无法正常工作

来自分类Dev

按钮无法正常工作(onclick事件)

来自分类Dev

动态创建的按钮onClick无法正常工作

来自分类Dev

由按钮触发的load()无法正常工作

来自分类Dev

Bootstrap状态按钮无法正常工作

来自分类Dev

翡翠按钮onClick无法正常工作

来自分类Dev

按钮IsEnabled绑定无法正常工作

来自分类Dev

NLog邮件目标无法正常工作

来自分类Dev

单击按钮无法正常工作

来自分类Dev

按钮单击jQuery无法正常工作

来自分类Dev

Angular 2新路由器:浏览器的后退和前进按钮无法正常工作

来自分类Dev

列表项中的按钮无法正常工作

来自分类Dev

Android Studio >>按钮无法正常工作

来自分类Dev

Bootsrap按钮在React中无法正常工作

来自分类Dev

显示/隐藏div的按钮无法正常工作

来自分类Dev

进行两项具有Mainctivity的活动会导致后退按钮无法正常工作

来自分类Dev

后退键无法正常工作

来自分类Dev

按钮无法正常工作

来自分类Dev

NavigationBar后退按钮异常行为,无法正常工作

来自分类Dev

使用popViewControllerAnimated后,iOS应用程序上的“后退”按钮无法正常工作

来自分类Dev

Angular 2新路由器:浏览器的后退和前进按钮无法正常工作

来自分类Dev

在第二个活动中按下后退按钮时,GridView onclick无法正常工作

来自分类Dev

Android后退按钮无法分段工作

来自分类Dev

为什么我的segue无法正常工作?在Xcode目标C上

来自分类Dev

按钮无法正常工作

来自分类Dev

按钮转换无法正常工作

Related 相关文章

热门标签

归档