В Руководстве по интерфейсу пользователя для tvOS в разделе «Настройка панели вкладок» указано, что:
Кроме того, вы можете отображать логотип или другую информацию, когда панель вкладокотображается при предоставлении дополнительных видов, которые появляются рядом с передним и задним концами панели вкладок.
В документах UITabBar
доступно следующее свойство:
trailingAccessoryView
Вид на заднем крае панели вкладок в tvOS. Используйте это свойство для интеграции пользовательского представления в передний край интерфейса панели вкладок. Используйте это представление для отображения собственного логотипа или предоставления доступа к пользовательским аксессуарам в вашем приложении.
https://developer.apple.com/documentation/uikit/uitabbar/3213944-leadingaccessoryview
А также существует конечная версия .
-
ОДНАКО ... trailingAccessoryView
определяется только для чтения:
var leadingAccessoryView: UIView { get }
Поэтому его нельзя установить непосредственно в коде.
Я не нашел способа установить его в файле раскадровки, либо непосредственно в UITabBar UITabBarController, в UITabBar, помещенном непосредственно в контроллер представления, либо перетаскивая UIViews через UITabBar.
также попытался установить его, создав пользовательский UITabBar и переопределив это свойство, например, так: class CustomTabBar:
UITabBar {
override var leadingAccessoryView: UIView {
return UIImageView(image: UIImage(named: "example-image"))
}
}
Я подтвердил, что установил панель вкладок в раскадровке на свой пользовательский, и этоиспользуя пользовательское, но значение leadingAccessoryView
никогда не доступно, и возвращаемое представление никогда не отображается.
-
Как установить leadingAccessoryView
наUITabBar
в tvOS?
-
Окружающая среда:
Xcode версии 11.0 (11A420a)
Цель развертывания проекта: tvOS 13.0
Симулятор: Apple TV 4K - tvOS 13.0 (17J577))
Этот вопрос также был размещен на форумах разработчиков Apple: https://forums.developer.apple.com/thread/123469