Первый ViewController из панели вкладок покрывает безопасную область (строка состояния) - PullRequest
0 голосов
/ 21 июня 2020

После успешного входа я открываю Tabbar со следующим кодом

    let  mainView = UIStoryboard(name:"Main", bundle: nil)
    let tabbar = mainView.instantiateViewController(withIdentifier: "Tabbar") as? Tabbar
    tabbar?.modalPresentationStyle = .fullScreen
    self.present(tabbar!, animated: true, completion: nil)

Открывается Tabbar с первым выбранным индексом, но первым ViewController также покрывает область сохранения ...

enter image description here

and switching between the TabbarItems make it work fine ...

введите описание изображения здесь

Я не могу понять, почему это происходит только в одном ViewController при первом открытии ... и как с этим справиться.

Также пробовал следующий код, но сделал ' т работа ...

self.edgesForExtendedLayout = [] 

1 Ответ

0 голосов
/ 23 июня 2020

Это неправильное решение, это своего рода взлом ... Я сказал в вопросе, что он автоматически исправляется после переключения между TabbarItems ... поэтому я просто добавил две строки сразу после открытия Tabbar V C .

       tabbar?.selectedIndex = 1
       tabbar?.selectedIndex = 0

И знайте, что полный код выглядит так.

let appDelegate = UIApplication.shared.delegate as! AppDelegate

     let mainView = UIStoryboard(name:"Main", bundle: nil)
     let tabbar = mainView.instantiateViewController(withIdentifier: "Tabbar") as? Tabbar
     appDelegate.window = UIWindow(frame: UIScreen.main.bounds)
     appDelegate.window!.rootViewController = tabbar
     appDelegate.window!.makeKeyAndVisible()
    
     tabbar?.modalPresentationStyle = .fullScreen
     self.present(tabbar!, animated: true, completion: nil)
     tabbar?.selectedIndex = 1
     tabbar?.selectedIndex = 0
...