我目前正在使用Swift进行开发,并且遇到了动态类型的问题.我已经设置了这段代码
import Foundation
import UIKit
class ExerciseController :UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var exerciseTableView :UITableView
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(animated: Bool) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "reload", name: UIContentSizeCategoryDidChangeNotification, object: nil)
}
override func viewWillDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIContentSizeCategoryDidChangeNotification, object: nil)
}
func reload() {
println("reload")
}
func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
return 1
}
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { …Run Code Online (Sandbox Code Playgroud) 所以我有一个自定义视图控制器,它显示一个带有几个按钮的对话框。当视图出现时,我希望画外音读出一些描述对话框的基本信息。为了实现这一点,我将父视图设为可访问元素,并且作为两个按钮的子视图也是可访问元素。我现在的问题是按钮无法直接点击。只能通过在屏幕上向右滑动来到达它们。
class MyViewController: UIViewController {
let parent = UIView()
let button1 = UIButton()
let button2 = UIButton()
init() {
parent.addSubview(button1)
parent.addSubview(button2)
parent.isAccessibilityElement = true
button1.isAccessibilityElement = true
button2.isAccessibilityElement = true
parent.accessibilityLabel = "Message"
self.view.addSubview(parent)
self.view.accessibilityElements = [parent, button1, button2]
}
override func viewDidAppear(_ animated: Bool) {
}
}
Run Code Online (Sandbox Code Playgroud)
如果有更好的方法让画外音在打开时描述视图,我也愿意。
此外,视图必须是模态的,以便焦点集中在视图上。
我正在为盲人编写一个应用程序,并想在其主页上放置一些说明。该指令是多段静态文本。我把它放在 UITextView 中。
我希望盲人用户能够使用 VoiceOver 逐段阅读说明。但是,当用户将 VoiceOver 焦点移到 UITextView 上时,VoiceOver 始终将指令作为一个整体来读取。我的设备是装有 iOS 7 的 iPad 2 和 iPhone 5s。
那么,有什么方法可以设置我的 UITextView 以便 VoiceOver 用户可以逐段阅读文本片段?如果 UITextView 不可能做到这一点,还有哪些其他选择?我真的必须使用 UITableView 吗?
谢谢你!
乔
当使用VoiceOver选择本地开关时,公告将包含“关”或“开”,并带有附加提示“双击切换设置”。
我尝试使用可访问性trait UIAccessibilityTraitSelected,但这只会导致“ Selected”被宣布,除非我明确提供,否则没有任何提示。
使用Accessibility Inspector时,我还注意到本机UIKit开关1启用时具有accessibilityValue ,但是提供该设置不会改变VoiceOver的行为。
- (UIAccessibilityTraits)accessibilityTraits {
if (toggled) {
return UIAccessibilityTraitSelected;
} else {
return UIAccessibilityTraitNone;
}
}
- (NSString*)accessibilityValue {
if (toggled) {
return @"1";
} else {
return @"0"
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以提供特征/值/标签的某种组合,以使TalkBack无需使用UISwitch即可将此元素识别为Switch?
为什么UILabel我们有以下动态字体:
artistLabel.font = UIFont.preferredFont(forTextStyle: .body, compatibleWith: UITraitCollection(legibilityWeight: .regular))
artistLabel.adjustsFontForContentSizeCategory = true
trackLabel.font = UIFont.preferredFont(forTextStyle: .body, compatibleWith: UITraitCollection(legibilityWeight: .bold))
trackLabel.adjustsFontForContentSizeCategory = true
Run Code Online (Sandbox Code Playgroud)
粗体和常规看起来一样吗?如何获得真正的“粗体”字体?