Swa*_*ilN 8 iphone objective-c uitableview ios
如何单独设置UITableViewCells子视图的可访问性.
它不应该作为完整的单元格访问?
Ani*_*pta 11
如果您的tableview单元格仅包含文本,则启用单元格的可访问性将会读取整个单元格.如果您有其他对象和按钮,建议使用子类UITableViewCell并覆盖该-accessibilityElements方法以返回所有可访问的元素.
一些代码:
#import "CustomCell.h"
@implementation CustomCell
- (void)awakeFromNib
{
[super awakeFromNib];
self.accessibilityElements = @[self.view1, self.label, self.imageView];
}
Run Code Online (Sandbox Code Playgroud)
以下帖子可能有所帮助
http://cocoacaffeine.wordpress.com/2013/11/29/little-tricks-of-accessibility/
为了回答@ma11hew28,这是另一种方法,可以节省一些代码行,
斯威夫特 5:
class ServiceTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
self.selectionStyle = .none
self.isAccessibilityElement = false //not allowing accessibility for the cell itself
self.accessibilityElements = [mySubview1!, mySubview2!, mySubview3!] // but allowing accessibility in the cell's subviews
}
}
Run Code Online (Sandbox Code Playgroud)
在中使该单元不可访问,并且您的子视图也可访问tableView(_:cellForRowAt:)。
isAccessibilityElement = false
mySubview1.isAccessibilityElement = true
mySubview2.isAccessibilityElement = true
mySubview3.isAccessibilityElement = true
Run Code Online (Sandbox Code Playgroud)
我也一直坚持这一点,因为我(试图提高效率)将以上内容放入自定义单元格的init(style:reuseIdentifier:)方法中。但是,这没有用,可能是因为UITableView在初始化每个单元格后重置了所有内容。
| 归档时间: |
|
| 查看次数: |
11732 次 |
| 最近记录: |