2014-11-06 48 views
0

嗨,我正在为我的小镇开发本地游戏租赁业务的应用程序,但我在查看视图之间切换时保持显示值时出现问题。在更改UITabBar视图时不能保留UILabel值

该应用程序是基于一个完整的定制的TabBar和交换意见的实现使用这个自定义赛格瑞做工精细:

#import "CustomSegue.h" 
#import "ViewController.h" 

@implementation CustomSegue 

- (void) perform { 

ViewController *src = (ViewController *)self.sourceViewController; 
UIViewController *dst = (UIViewController *) self.destinationViewController; 

for(UIView *view in src.placeholderView.subviews){ 
    [view removeFromSuperview]; 
} 

src.currentViewController = dst; 
[src.placeholderView addSubview:dst.view]; 
} 

@end 

所以,当用户点击“INICIO”(开始)按钮,应用程序会触发一个计数器。而当用户点击“鱼翅”(完)按钮,计数器停止和一个UILabel显示总时间,因为你可以在下面的图片中检查:

App Initial State Counter working after "Início"button is pressed

当我改变了,就会出现问题查看任何其他和以后回到柜台的看法。正如您可以在此图像中看到的那样,它不是显示开始时间和计数器,而是显示初始状态,归零开始时间和计数器,它应显示开始时间和计数器仍在计数:

App state after switching tabBar views

看来计数器仍然在后台运行,这是我的想法,但不知何故,当我将视图更改回计数器时,它不会保持显示。

所有变量都很强,我试了保留也没有工作。

那么任何人都可以帮助我呢?

+0

你可能不会回来了到该控制器的同一个实例,而是创建一个新的。目前还不清楚你想用这个定制赛车来完成什么。分段用于在控制器之间移动,而不是添加和删除子视图。 – rdelmar 2014-11-06 06:30:56

+0

是的,在看了看自定义segue代码后,我也注意到了这一点。但是我正在做的是为UIViews创建一个占位符,并且当用户点击相应的按钮时,它将根据segue标识符将正确的ViewController加载到占位符。对于自定义的Segue代码,你会有不同的方法吗? – 2014-11-06 14:17:48

+0

我不明白你为什么使用自定义的segue。为什么不是模式演示文稿(如果你想要没有动画)?当您将一个控制器的视图添加到另一个控制器的视图时,您确实应该使用自定义包含api并将目标控制器设置为子控制器。在任何情况下,为了返回到前一个控制器,您需要使用展开顺序,或返回代码。 – rdelmar 2014-11-06 15:52:26

回答