UITABBAR可访问性iOS
[q]可以 uiAcceSsibilityTraits.tabbars.tabbar 仅适用于uitabbar?有什么方法可以使Uiviews具有tabar uiaccessibilitytraits?
在Uitabbar中与Uitabbaritems一起工作。
// This works. No problem
let first = UITabBarItem(title: "firstTab", image: UIImage(systemName: "chart.line.uptrend.xyaxis"), selectedImage: UIImage(systemName: "chart.line.uptrend.xyaxis"))
let second = UITabBarItem(title: "secondTab", image: UIImage(systemName: "arrow.left.and.right.square"), selectedImage: UIImage(systemName: "arrow.left.and.right.square"))
let tabBar = UITabBar()
tabBar.setItems([first, second], animated: true)
view.addSubview(tabBar)
tabBar.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
tabBar.leadingAnchor.constraint(equalTo: view.leadingAnchor),
tabBar.trailingAnchor.constraint(equalTo: view.trailingAnchor),
tabBar.bottomAnchor.constraint(equalTo: view.bottomAnchor),
tabBar.heightAnchor.constraint(equalToConstant: 100)
])
tabBar.isAccessibilityElement = false
tabBar.accessibilityTraits = .tabBar
但是,我的 tabar和tabbaritems应该是uiview 不是uitabbar和uitabbaritems。而且这行不通。
// Doesn't work
let label1 = UILabel()
let label2 = UILabel()
label1.text = "first"
label2.text = "second"
let stackView = UIStackView(arrangedSubviews: [label1, label2])
view.addSubview(stackView)
stackView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
stackView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
stackView.backgroundColor = .cyan
stackView.axis = .horizontal
stackView.isAccessibilityElement = false
stackView.accessibilityTraits = .tabBar
[Q] Can UIAccessibilityTraits.tabBar only be applied to UITabBar? Is there any way to make UIViews have tabBar UIAccessibilityTraits?
Works fine with UITabBarItems in UITabBar.
// This works. No problem
let first = UITabBarItem(title: "firstTab", image: UIImage(systemName: "chart.line.uptrend.xyaxis"), selectedImage: UIImage(systemName: "chart.line.uptrend.xyaxis"))
let second = UITabBarItem(title: "secondTab", image: UIImage(systemName: "arrow.left.and.right.square"), selectedImage: UIImage(systemName: "arrow.left.and.right.square"))
let tabBar = UITabBar()
tabBar.setItems([first, second], animated: true)
view.addSubview(tabBar)
tabBar.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
tabBar.leadingAnchor.constraint(equalTo: view.leadingAnchor),
tabBar.trailingAnchor.constraint(equalTo: view.trailingAnchor),
tabBar.bottomAnchor.constraint(equalTo: view.bottomAnchor),
tabBar.heightAnchor.constraint(equalToConstant: 100)
])
tabBar.isAccessibilityElement = false
tabBar.accessibilityTraits = .tabBar
However, my tabBar and tabBarItems are supposed to be UIView not UITabBar and UITabBarItems. And this doesn't work.
// Doesn't work
let label1 = UILabel()
let label2 = UILabel()
label1.text = "first"
label2.text = "second"
let stackView = UIStackView(arrangedSubviews: [label1, label2])
view.addSubview(stackView)
stackView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
stackView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
stackView.backgroundColor = .cyan
stackView.axis = .horizontal
stackView.isAccessibilityElement = false
stackView.accessibilityTraits = .tabBar
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论