繁体   English   中英

使用UITabBarController时从按钮强制更改视图

[英]Force a view change from a button when using UITabBarController

当使用UITabBarController时,当用户在View1上输入一些数据并按下按钮时,我需要执行一些计算并将结果显示在View2上。

我有一个AppDelegate,View1Controller,View2Controller和View3Controller(View3基本是静态视图)。 我的AppDelgate声明了UITabBarController * rootController;

在View1上,我在IBAction中为buttonPressed执行了计算; 但是,我似乎无法强迫视图以编程方式切换到View2。

我已经做了很多寻找类似问题的工作,并且认为我应该做类似“ self.rootController.selectedIndex = 1”的事情; 但是,当我从View1Controller上的buttonPressed内部执行此操作时,出现错误“请求成员rootController不在结构或联合中的某些内容”。

我想我在这里缺少一些基本的东西……可能需要用AppDelegate做一些事情,但我的头撞墙了。

任何人都可以在这种情况下提供一些指导...例如我应该在View1Controller标头中执行的关键操作以及参照我的AppDelgate的实现? 谢谢!

对于任何搜索如何切换从一个标签到另一个,提供了一种答案在这里

这听起来像一个奇怪的UI,但请接受您正在尝试做正确的事情。

iPhone开发与Model View Controller-MVC有关。 因此,原则上您想要的是view1更新模型,View2根据模型执行计算。

如果您使用的是标签栏控制器,那么您可能想知道何时切换标签页才能执行这些操作。 在view1中,您可能需要编写代码以更新viewWillDisappear中的模型-这将在选项卡被下一个替换时运行。 补充功能(您可能希望在view2中使用它)是viewWillAppear-可用于用模型中的数据更新view2。

现在,剩下的工作就是弄清楚放置模型的位置。 您可能需要根据需要存储在模型中的数据使用@parameters创建一个类。 然后,您可以在AppDelegate中实例化模型,并将模型作为参数传递给两个视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM