Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从操作表返回到上一个视图_Ios_Objective C_Ios5 - Fatal编程技术网

Ios 如何从操作表返回到上一个视图

Ios 如何从操作表返回到上一个视图,ios,objective-c,ios5,Ios,Objective C,Ios5,我将视图控制器2上的“后退”按钮设置为通过从操作按钮拖动到视图控制器上的“退出”来退出视图 我现在正试着按程序做这件事。我有 - (IBAction)goBack:(UIButton *)sender { NSLog(@"go back"); //[self.navigationController popViewControllerAnimated:YES]; [self dismissViewControllerAnimated:TRUE completion:^{

我将视图控制器2上的“后退”按钮设置为通过从操作按钮拖动到视图控制器上的“退出”来退出视图

我现在正试着按程序做这件事。我有

- (IBAction)goBack:(UIButton *)sender {
    NSLog(@"go back");
    //[self.navigationController popViewControllerAnimated:YES];

    [self dismissViewControllerAnimated:TRUE completion:^{
        NSLog(@"Test");

    }];
    NSLog(@"are we back");
}
这:

似乎什么也没做。但目前的解雇方法似乎有效

问题是在我的主要观点中,我有

-(IBAction) returnToMainView1:(UIStoryboardSegue *) segue
{
    NSLog(@"return to main view");
    self._mytopconsoleview=nil;
    self._mybottomconsoleview=nil;
    self.viewB=nil;
    [self animateRotation:[[UIApplication sharedApplication] statusBarOrientation]];
}
这不再是所谓的。如何关闭当前视图控制器并调用主视图上的方法,就像我拥有的方法一样


迈克

只是重复了我在评论中说的话——这显然把你推向了正确的道路:)

基本上,您希望将
returnToMainView1
方法中的逻辑移动到viewdide。每当视图出现时(如其名称所示),例如在解除模态视图控制器之后,都会调用此函数


关于导航视图方案,只需根据您的演示方式来排除。如果您使用的是模态视图控制器,请使用
dismissViewControllerAnimated:completion
;如果您使用的是导航控制器,请使用
popViewControllerAnimated:

您首先是如何显示该视图的?它是通过导航控制器等方式呈现的吗?我正在尝试从主视图中获取的视图已被调出(这是最近的更改,因为两个视图更改现在都在操作表上,有两个场景)self.viewB=vc;[自我准备阶段];[self-presentModalViewController:vc动画:是];这在技术上不太正确。视图更改以编程方式显示在工具栏上。但在操作表和工具栏上,我都必须以编程方式创建按钮及其操作。因此,只需使用dismissModalViewControllerAnimated:或dismissViewControllerAnimated:completion:来摆脱视图(这对您有用吗?)。然后将returnToMainView1方法中的逻辑移到更合适的位置,如viewdidappease。是否有任何方法可以通过编程方式告诉哪个视图刚刚放弃了控制,或者您需要设置一些变量系统来跟踪它。就像我能做的那样;并检查是否在ViewDid中显示。当我最初使用xcode设置return to main view时,我记得它与方法returntomain关联,作为要调用的方法,这让我想到,如果添加第三个视图,我可以拥有自己的返回函数。谢谢您的帮助。我正在从stackoverflow、google半学习ios,还学习了一些书本知识。
-(IBAction) returnToMainView1:(UIStoryboardSegue *) segue
{
    NSLog(@"return to main view");
    self._mytopconsoleview=nil;
    self._mybottomconsoleview=nil;
    self.viewB=nil;
    [self animateRotation:[[UIApplication sharedApplication] statusBarOrientation]];
}