我以一個登錄屏幕開始。然後,在用戶登錄後,我加載了一個帶有UITabBArController的Viewcontroller。問題是viewdidAppear:不會調用tabBarController中的任何單個viewController。UIViewController中的UITabBarController = viewDidAppear:未調用
我有一種感覺,這不是最好的編程習慣,所以沒有人有任何想法如何改善我的代碼結構或如何解決我的問題?
我以一個登錄屏幕開始。然後,在用戶登錄後,我加載了一個帶有UITabBArController的Viewcontroller。問題是viewdidAppear:不會調用tabBarController中的任何單個viewController。UIViewController中的UITabBarController = viewDidAppear:未調用
我有一種感覺,這不是最好的編程習慣,所以沒有人有任何想法如何改善我的代碼結構或如何解決我的問題?
我想你的麻煩來自UIViewController和UITabBarController的不正確使用。
UITabBarController作爲多個視圖控制器的容器而存在。它本身可能不應被包含。它被設計成坐在視圖控制器層次結構的頂部。因此,第一步可能是重新安排你的應用程序,以便UITabBarController不再處於其他任何狀態,並查看是否會讓你變得更直觀。
之後,slev的呈現登錄視圖的方法聽起來像是正確的。
您應該能夠以模態方式呈現標籤欄控制器,但是ICBW ... –
在iOS5中,應該支持API來定製ui視圖控制器,以便它可以充當UITabBarController等容器。 – pulkitsinghal
對不起,這是不正確的。 UITabBarController可以嵌套。如果你重寫自己的方法,只要確保你調用[super viewWillAppear]。 – Teddy
爲什麼不製作基於TabBarController的應用程序,然後在應用程序啓動時立即調用模態屏幕(用於登錄)?完成登錄後,只需關閉它即可讓TabBarController成爲關鍵窗口。
有沒有機會幫助我呢? http://stackoverflow.com/questions/6509078/dismissing-uipickerview-with-done-button-uitoolbar-help – Legolas
@Legolas。是的,夥計,當然。我以前看過它,並認爲其他人已經有了正確的答案,但不知道它會給你那個異常錯誤 – justin
我基本上有兩個pickerviews。 1個DatePickerView和另外3個組件的PickerView。點擊textField將其展現出來。爲了辭職,我使用'[textField resignFirstResponder]'。這適用於DatePickerView而不是其他pickerview(它引發錯誤) – Legolas
你可以嘗試手動調用子視圖控制器上的viewdidAppear:當它在rootviewcontroller上調用時也手動調用子視圖控制器的子視圖控件。
這裏是龍。 –
我有一個問題,因爲我是子類也UITabBarControler在那裏我已經覆蓋viewDidAppear無需調用[超級viewDidAppear:...]
調用此之後,viewDidAppear叫也分 - 視圖 - 控制器內。
對我來說同樣的問題 - 我認爲最好的做法是始終將[super viewDidSomething]留在方法的第一行,然後在下面添加代碼?因此,忽略基本呼叫可能會弄亂呼叫層次結構中的某些內容? - 有沒有人會關注此事? – Miros
這看起來好像沒問題,你可以發佈在控制標籤欄的viewController中使用的代碼嗎? –
你如何在視圖控制器的「內部」添加標籤欄控制器? –