【发布时间】:2010-11-09 02:13:44
【问题描述】:
无论我尝试什么,我都无法阻止我的自定义 UITableViewCell 在 UIAccessiblity 的默认规则下像它应该的那样。我不希望这个单元格像一个可访问性容器(本身),所以按照这个guide我应该能够让我所有的子视图都可以访问,对吧?!它说要使每个元素都可以单独访问,并确保单元格本身不可访问。
- (BOOL)isAccessibilityElement
{
return NO;
}
- (NSString *)accessibilityLabel
{
return nil;
}
- (NSInteger)accessibilityElementCount
{
return 0;
}
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier //cells use this reusage stuff
{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
{
[self setIsAccessibilityElement:NO];
sub1 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,1,1)];
[sub1 setAccessibilityLanguage:@"es"];
[sub1 setIsAccessibilityElement:YES];
[sub1 setAccessibilityLabel:sub1.text]
sub2 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,1,1)];
[sub2 setAccessibilityLanguage:@"es"];
[sub2 setIsAccessibilityElement:YES];
[sub2 setAccessibilityLabel:sub2.text]
语音系统会同时读取整个单元格的内容,即使我正试图阻止这种行为。我可以说
[sub2 setIsAccessibilityElement:NO];
但这会使这个元素完全不可读。我想让它保持可读性,但不要将整个单元格视为一个容器(并假定为英语)。似乎没有很多关于这方面的信息,所以至少我想记录一下。
【问题讨论】:
-
你知道它是否通过子视图递归吗?
-
如果您将IsAccessibilityElement 设置为YES 是否说明了一切?
标签: iphone objective-c uitableview