[英]Pop animation is not working in first UINavigationController of UITabbarController
我不知道我的代碼有什么問題。 我已經成功開發了應用程序並且所有的東西都工作正常,除了我第一次啟動應用程序時,在第一個導航 controller 中,pop animation 不能正常工作。 似乎Pop without animation
。 當我更改選項卡並返回第一個選項卡時,它工作正常。 然后做push-pop
然后它工作正常。
從一周開始,我就試圖找出問題所在。 但由於冗長的代碼而無法獲得成功。 我已經嘗試了相同的 animation 創建Tabbar Demo
並且它工作正常。
我的應用程序具有以下層次結構。
UINavigationController --> UIViewController --> UITabbarController --> Four UINavigationController --> UIViewControlle.
我在我的UITabbarController
中使用了storyboard
。
我知道我問了這個問題,並且也提供了解決方案。 我很久以前就問過這個問題,但由於存在不合邏輯的錯誤,我沒有得到任何解決方案。 並非每個Tabbar
基礎應用程序都具有相同的功能。 我在這里添加了經過長時間調試的解決方案,發現即使單行也可能破壞您的項目。
實際上,我已經從情節UITabbarController
添加了UITabbarController
,並以編程方式創建了UITabbarController
類,並在storyboard
使用UITabbarController
類型UITabbarController
。
這是我的問題,我忘了寫[super viewDidAppear:animated];
內部-(void)viewDidAppear:(BOOL)animated
方法。 所以我會第一次打破流行動畫,然后它將正常工作。
獲得此解決方案后,即使我也不知道此行如何影響整個代碼。 但我不希望其他人浪費時間來找出這樣的單行(意外問題)問題。 所以在這里我要添加此代碼。
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
}
對於Swift 5
取決於@Jatin Patel - JP回答
為您的 TabBarController 創建自定義 class
在您的 UITabBarController 文件中添加此代碼
class MyTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.