У меня есть куча кнопок на экране, которые позиционируются интуитивно визуально, но не читаются в интуитивном порядке VoiceOver. Это связано с тем, что некоторые кнопки, такие как "Вверх" и "Вниз", расположены над и под друг другом. Тем не менее, голос за кадром начинает читать слева направо, сверху донизу, кажется.
Это приводит к тому, что голос за кадром просматривает кнопку справа от "Вверх" после "Вверх", вместо того, чтобы сразу же читать "Вниз".
Как заставить голос за кадром читать кнопку, которую я хочу читать? Я должен упомянуть, что я использую функцию swipe-to-cycle-through-elements для озвучивания.
Все мои кнопки - это подклассы версий UIView и UIButton. Вот пример инициатора кнопки, который я использую. Игнорируйте количество пикселей - я знаю эту плохую форму, но сейчас я в порядке:
UIButton* createSpecialButton(CGRect frame,
NSString* imageName,
NSString* activeImageName,
id target,
SEL obClickHandler)
{
UIButton* b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setImage:[GlobalHelper nonCachedImage:imageName ofType:@"png"]
forState:UIControlStateNormal];
[b setImage:[GlobalHelper nonCachedImage:activeImageName ofType:@"png"]
forState:UIControlStateHighlighted];
[b addTarget:target action:obClickHandler forControlEvents:UIControlEventTouchUpInside];
b.frame= frame;
return b;
}
- (UIButton *) createSendButton {
CGFloat yMarker = 295;
UIButton* b = createSpecialButton(CGRectMake(160, yMarker, 70, 45),
@"Share_Btn",
@"Share_Selected_Btn",
self,
@selector(sendAction));
b.accessibilityHint = @"Send it!";
b.accessibilityLabel = @"Stuff for voiceover to be added";
[self.view addSubview:b];
return b;
}