2014-11-06 51 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

回答