У меня есть быстрое приложение 4 / iOS 12, которое использует настраиваемую панель навигации barTintColor для всех контроллеров представления и настроено в appDelegate.swift следующим образом:
UINavigationBar.appearance().barTintColor = UIColor(red: 229/255, green: 80/255, blue: 57/255, alpha: 1.0)
Однако я бы хотел изменитьцвет, когда я представляю ActivityViewController, чтобы представление составления почты получило белый barTint.Я добился этого, выполнив:
let activityViewController = UIActivityViewController(activityItems: textShare , applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
self.present(activityViewController, animated: true, completion: { () in
UINavigationBar.appearance().barTintColor = UIColor.white
})
Но когда я отклонил активностьViewController, tintColor панели навигации изменился для всего приложения.Это не то поведение, которое я хочу.Я хочу, чтобы tintColor был сброшен, когда я закрывал активностьViewViewController, но я не могу понять, как перехватить функцию willDisappear, чтобы можно было вернуть ее обратно.