小编XLE*_*_22的帖子

动态类型通知未被触发

我目前正在使用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)

accessibility ios textkit swift

4
推荐指数
1
解决办法
1577
查看次数

将 UIView.isAccessibleElement 设置为 true 会禁用在 Voiceover 模式下单击子视图

所以我有一个自定义视图控制器,它显示一个带有几个按钮的对话框。当视图出现时,我希望画外音读出一些描述对话框的基本信息。为了实现这一点,我将父视图设为可访问元素,并且作为两个按钮的子视图也是可访问元素。我现在的问题是按钮无法直接点击。只能通过在屏幕上向右滑动来到达它们。

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)

如果有更好的方法让画外音在打开时描述视图,我也愿意。

此外,视图必须是模态的,以便焦点集中在视图上。

accessibility ios voiceover swift

4
推荐指数
1
解决办法
7487
查看次数

如何使用 VoiceOver 逐段阅读 UITextView?

我正在为盲人编写一个应用程序,并想在其主页上放置一些说明。该指令是多段静态文本。我把它放在 UITextView 中。

我希望盲人用户能够使用 VoiceOver 逐段阅读说明。但是,当用户将 VoiceOver 焦点移到 UITextView 上时,VoiceOver 始终将指令作为一个整体来读取。我的设备是装有 iOS 7 的 iPad 2 和 iPhone 5s。

那么,有什么方法可以设置我的 UITextView 以便 VoiceOver 用户可以逐段阅读文本片段?如果 UITextView 不可能做到这一点,还有哪些其他选择?我真的必须使用 UITableView 吗?

谢谢你!

accessibility uitextview ios voiceover

3
推荐指数
1
解决办法
1127
查看次数

如何使任意UIAccessibilityElement的行为类似于VoiceOver的UISwitch?

当使用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?

accessibility ios voiceover

3
推荐指数
1
解决办法
1058
查看次数

Swift 中的粗体动态类型

在此输入图像描述

为什么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)

粗体和常规看起来一样吗?如何获得真正的“粗体”字体?

accessibility swift dynamic-type-feature

3
推荐指数
1
解决办法
1766
查看次数