我正在製作一個包含教程的快速應用程序。當我嘗試繼續回到主控制器時,標籤欄項目變爲灰色(它們應該是白色的)。這是因爲我在應用程序委託中設置了選項卡欄。有沒有辦法從視圖控制器以編程方式調用應用程序委託?在整個應用程序中重新調用應用程序代理
我想打電話給didFinishLaunchingWithOptions()函數
我正在製作一個包含教程的快速應用程序。當我嘗試繼續回到主控制器時,標籤欄項目變爲灰色(它們應該是白色的)。這是因爲我在應用程序委託中設置了選項卡欄。有沒有辦法從視圖控制器以編程方式調用應用程序委託?在整個應用程序中重新調用應用程序代理
我想打電話給didFinishLaunchingWithOptions()函數
如果你的意思是你在你的應用程序委託的方法,設置標籤欄到自定義顏色。然後是,(替換的AppDelegate到您的應用程序委託的類名,如果你改變了它):
let appDelegate = UIApplication.shared.delegate as? AppDelegate
appDelegate?.yourCustomizeMethod()
如果你的意思是,你自定義「didFinishLaunchingWithOptions」方法中的標籤欄,那麼你將不得不提取到它自己的自定義功能。
會這樣工作。 –
像什麼? – Pochi
'如果讓appDelegate = UIApplication.shared.delegate as? AppDelegate { didFinishLaunchingWithOptions() }' –
if let appDelegate = UIApplication.shared.delegate as? AppDelegate {
//do something with appDelegate
}
如何在viewdidload中調用一個函數@Yun CHEN –
可能的重複[如何在Swift中獲取對應用程序委託的引用?](https://stackoverflow.com/questions/24046164/how-do-i-get-a-reference-to-the- app-delegate-in-swift) – Pochi
我會盡量避免在您的AppDelegate中放置大量自定義代碼,並在整個應用中引用它。我的建議是將UITabBarController子類化並在其中添加所需的任何邏輯。您應該能夠從其他UIViewController子類獲得對您的UITabBarController的引用。 – adrum