在Human Interface Guidelines for tvOS under "Tab Bar Customization"中指出:
此外,您可以在标签页中显示徽标或其他信息通过提供出现在标签栏的前端和后端。
在UITabBar
文档中,以下属性可用:
trailingAccessoryView
tvOS上选项卡栏后端的视图。使用这个属性在标签栏的前端集成自定义视图接口。使用此视图显示自定义徽标或授予访问权限您的应用中的自定义附件。
https://developer.apple.com/documentation/uikit/uitabbar/3213944-leadingaccessoryview
-
HOWEVER ... trailingAccessoryView
被定义为只读:
var leadingAccessoryView: UIView { get }
因此不能直接在代码中设置。
我找不到直接在UITabBarController UITabBar上,直接放置在视图控制器上的UITabBar上或通过将UIViews拖到UITabBar上的故事板文件中进行设置的方法。
我还尝试通过创建自定义UITabBar并覆盖该属性来进行设置,如下所示:类CustomTabBar:
UITabBar {
override var leadingAccessoryView: UIView {
return UIImageView(image: UIImage(named: "example-image"))
}
}
[我已确认已将情节提要中的选项卡栏设置为自定义选项卡,并且该菜单栏正在使用自定义选项卡,但是leadingAccessoryView
值从未访问过,并且从不显示它返回的视图。
-
在tvOS中如何在leadingAccessoryView
上设置UITabBar
?
-
环境:
Xcode版本11.0(11A420a)
项目部署目标:tvOS 13.0
模拟器:Apple TV 4K-tvOS 13.0(17J577)
此问题也已发布在Apple开发者论坛上:https://forums.developer.apple.com/thread/123469
实施例:
let imageView = UIImageView(image: UIImage(named: "example-image"))
tabBar.leadingAccessoryView.addSubview(imageView)