Chúng tôi đang tạo một ứng dụng yêu cầu các tiêu đề khác nhau cho các chế độ xem khác nhau được kết nối thông qua Trình điều khiển Điều hướng và Tab. Chế độ xem ban đầu có hình ảnh làm tiêu đề. Chế độ xem thứ hai có văn bản làm tiêu đề và phần thứ ba cũng có văn bản làm tiêu đề.Tại sao nội dung trên thanh điều hướng hiển thị trên iOS 11 chứ không phải iOS 10?
Chúng tôi đang sử dụng bảng phân cảnh để xây dựng ứng dụng này, đây là cấu trúc phân cấp của bộ điều khiển.
Navigation Controller --> Tab Bar Controller --> View Controller 1, View Controller 2, View Controller 3
Đây là mã chúng tôi sử dụng để hiển thị một hình ảnh trên bộ điều khiển xem đầu tiên:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let titleView = UIImageView()
titleView.contentMode = .scaleAspectFit
titleView.image = UIImage(named: "logo_white_thin")
self.parent?.navigationItem.titleView = titleView
self.parent?.navigationController?.navigationBar.isHidden = false
self.navigationController?.navigationBar.isHidden = false
}
Đây là mã chúng tôi sử dụng để hiển thị văn bản như tiêu đề cho hai bộ điều khiển xem khác.
override func viewWillAppear(_ animated: Bool) {
guard let uid = Auth.auth().currentUser?.uid else {return}
guard let username = users[uid]?.username else {return}
self.parent?.navigationItem.titleView = title(text: username)
self.parent?.navigationController?.navigationBar.isHidden = false
self.navigationController?.navigationBar.isHidden = false
print("Setting navigation bar title to ", username)
}
Các tiêu đề chức năng là một phần mở rộng được xây dựng để trở về một nhãn:
func title(text: String) -> UILabel {
let label = UILabel()
label.text = text
label.textColor = UIColor.white
label.font = UIFont.boldSystemFont(ofSize: label.font.pointSize)
return label
}
Bây giờ vấn đề là, khi chúng tôi thử nghiệm ứng dụng của chúng tôi trên iOS 11, Controllers Navigation hoạt động đúng và tất cả xuất hiện tốt. Khi chúng tôi thử nghiệm ứng dụng của mình trên iOS 10, hình ảnh và văn bản từ bộ điều khiển điều hướng biến mất một cách kỳ diệu. Bất kỳ ý tưởng tại sao điều này đang xảy ra?
Dưới đây là hình ảnh của whats up: Picture of the issue. On the left, no title shows up (IOS 10) and on the right a title does show up (IOS 11)
Tôi đang chạy phiên bản mới nhất của Xcode với Swift 4. Cảm ơn trước sự giúp đỡ nào.
thử với khung tập các nhãn trong tiêu đề() phương pháp – iPatel
@iPatel Tôi không nghĩ rằng nó là một vấn đề với phương pháp tiêu đề() bởi vì tôi cũng có một bộ điều khiển xem mà tiêu đề là một imageview và điều đó sẽ không xuất hiện ... – itsfaraaz