私は私のiOSアプリケーションのアクセシビリティをサポートしています(Swiftで)。私は親ビュー(TableViewCell)をタップすると、それは2つのラベルを読み込み、デフォルトで内部コレクションビューを持つTableViewCellのiOSアクセシビリティ
、:私はこのようになりますこれは、(セルあたりの内部ImageViewので)内部CollectionView
でUITableViewCell
秒を持っていますCollectionViewセルをタップすると、セル内のイメージの名前が読み込まれます。しかし、ラベルと画像の中にはアクセシビリティ値が異なるものがあるため、手動で設定する必要がありました。
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if let tableViewCell = cell as? MyParentTableView {
tableViewCell.isAccessibilityElement = true
tableViewCell.accessibilityLabel = getCorrectAccessibilityLabel()
}
}
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
// sample only
if let myCell = cell as? MyCollectionViewCell {
myCell.isAccessibilityElement = true
myCell.accessibilityValue = getCorrectAccessibilityLabel()
}
}
私がやったときは、その親ビュー・ブロック全体を眺め、私はもはやCollectionView細胞上のアクセシビリティボックスを集中することはできませんし、VoiceOverのは、もはやそれを読み出していません。私はTableViewのアクセシビリティを最初に設定してから、各CollectionViewセルのアクセシビリティと、TableViewでaccessibilityElements
を使用しましたが、動作していないようです。
// TableViewCell's awakeFromNib function
override func awakeFromNib() {
super.awakeFromNib()
self.collectionView.dataSource = self
self.collectionView.delegate = self
self.accessibilityElements = [self, self.collectionView]
}
EDIT:いくつかのコードを掲載しました。
助けや洞察力があれば教えてください。ありがとう!