После обновления iOS 11 и быстрого 4 (Xcode 9) у меня появилось много проблем с пользовательским интерфейсом.:(
Самой неразрешимой проблемой является проблема навигации.
я поместите панель навигации в контроллер UICollectionView.
Высота навигационной панели не отображается должным образом и, тем не менее, я пишу код.
Я установил высоту панели навигации "100". Я пишу этот код в ViewDidLoad().
if #available(iOS 11.0, *) {
print("IOS 11 Screen")
UINavigationBar.appearance().largeTitleTextAttributes = [
NSForegroundColorAttributeName: UIColor.white,
]
navigationItem.largeTitleDisplayMode = .never
let height: CGFloat = 100 //whatever height you want
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: bounds.height + height)
} else {
print("lower than IOS 11 Screen")
// Fallback on earlier versions
}
collectionview?.frame = CGRect(x: 0, y: 10, width: UIScreen.main.bounds.width, height: (UIScreen.main.bounds.height + 20)) <br>
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let height: CGFloat = 100 //whatever height you want
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: bounds.height + height)
}
override func viewWillAppear(_ animated: Bool) {
let height: CGFloat = 100 //whatever height you want
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: bounds.height + height)
}
Однако я попытался с этим кодом. Ничто не работает для меня.
Я также попытался открыть раскадровку с представлением исходного кода, и я редактирую высоту панели навигации. Но, это также не работает.
Кто-нибудь может мне помочь? Я пытаюсь решить эту проблему с двух последних дней.