這是一個奇怪的問題——我終于得到了一臺 Apple Silicon MacBook Pro,當我在 Apple Silicon 上運行我的 iOS/iPadOS 應用程式時,我正在嘗試解決一些顯示問題。出于某種原因,tableview,具體來說,將 DisplayHeaderView 視圖回傳為 Nil。
此示例代碼由于需要而崩潰:
override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let headerView = view as! UITableViewHeaderFooterView
headerView.textLabel!.textColor = UIColor.white
let font = UIFont(name: "Avenir-Medium", size: 16.0)
headerView.textLabel!.font = font
headerView.backgroundView!.backgroundColor = UIColor.init(red: 28, green: 28, blue: 30, transparancy: 100)
headerView.tintColor = UIColor.init(red: 28, green: 28, blue: 30, transparancy: 100)
headerView.textLabel!.textAlignment = .center
}
此示例代碼沒有崩潰,因為它們是可選的但也沒有效果:
override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let headerView = view as! UITableViewHeaderFooterView
headerView.textLabel?.textColor = UIColor.white
let font = UIFont(name: "Avenir-Medium", size: 16.0)
headerView.textLabel?.font = font
headerView.backgroundView?.backgroundColor = UIColor.init(red: 28, green: 28, blue: 30, transparancy: 100)
headerView.tintColor = UIColor.init(red: 28, green: 28, blue: 30, transparancy: 100)
headerView.textLabel?.textAlignment = .center
}
有什么想法為什么通過 XCODE“我的 Mac(專為 iPad 設計)”運行會導致頁眉/頁腳視圖回傳為 Nil?在真正的 iPad 和 iOS 編譯器/模擬器上運行良好。
uj5u.com熱心網友回復:
看起來“textLabel”已被棄用,這就是您需要為 iOS 14 執行此操作的方式:
let headerView = view as! UITableViewHeaderFooterView
if #available(iOS 14.0, *) {
var config = headerView.defaultContentConfiguration()
config.text = "Hello"
headerView.contentConfiguration = config
} else {
// Fallback on earlier versions
headerView.textLabel?.text = "Hello"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/405820.html
標籤:
上一篇:如何根據同一視圖控制器中選定的tableView單元格更新標簽?
下一篇:SwiftUI:漸變填充未顯示
