Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.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 UIStoryboard popViewController_Ios_Uiviewcontroller_Ios5_Uistoryboard - Fatal编程技术网

Ios UIStoryboard popViewController

Ios UIStoryboard popViewController,ios,uiviewcontroller,ios5,uistoryboard,Ios,Uiviewcontroller,Ios5,Uistoryboard,我在应用程序中使用UISegue在应用程序中的ViewController之间自动转换。我叫他们A和B 它按预期工作,但是当我想从B弹回到A时,我试图打电话 [self.navigationController popViewController]但是B的navigationController属性报告为空 作为第二次尝试,我尝试将一个按钮映射到UISegue,返回到视图控制器a。 但是,这只会创建一个新的ViewController 作为一种变通方法,我最后做的变通方法是从UIStorybo

我在应用程序中使用UISegue在应用程序中的ViewController之间自动转换。我叫他们A和B

它按预期工作,但是当我想从B弹回到A时,我试图打电话
[self.navigationController popViewController]
但是B的navigationController属性报告为空


作为第二次尝试,我尝试将一个按钮映射到UISegue,返回到视图控制器a。
但是,这只会创建一个新的ViewController

作为一种变通方法,我最后做的变通方法是从UIStoryboard中检索
B viewcontroller
,并调用
[a.navigationController pushViewController:B]

此时,调用
[B.navigationController popViewController]
的工作正常


这似乎是错误的,从情节提要开始,我如何才能返回到上一个视图控制器?

我不知道a和B控制器的类别(UIViewController、UITableViewController或UINavigationController),但如果遵循以下模式,它应该可以工作

  • 在空故事板中,插入UINavigationController。这将在情节提要中引入两个窗口,并用箭头(一个序列)链接。右边的那个应该是控制器A

  • 在A中,比如说,添加一个按钮。该按钮将B推入导航堆栈

  • 然后,添加第二个控制器B,从控制器A中的按钮拖动到控制器B,并从弹出菜单中选择“按下”

如果只使用UIViewController(a)并按下B,则没有navigationController来处理弹出操作


希望有帮助。

如果您已经有了UIViewController,则无需拖入UINavigationController并在设置时乱来。取而代之的是选择UIViewController并转到编辑器菜单,选择嵌入并选择UINavigationViewController,这将为您设置所有内容。@Scott Sherwood。这是个好把戏。我不知道。但有一个问题。当我在故事板中这样做时,Xcode会自动将我的viewController转换为navController和viewController,并与segue链接。那基本上不是一样吗?是的,完全一样,只是有点捷径。navController和viewController之间的链接称为关系,与Segue稍有不同,但原则上,剩下的与您建议的相同。