2012-05-04 2 views
7

Я пытаюсь получить значение "HELLO" из UILabel, показанное в симуляторе iPad. Я включил доступность и установил метку как "Label Access". Но когда я называю target.logElementTree(), как имя и значение устанавливается в "LabelAccess" и, насколько говорят яблочные документы, поле значение должно содержать строку, которая будет установлена ​​(в данном случае "Hello"). Кто-нибудь знает об этом?Невозможно получить UIAutomation iOS Значение UILabel

PS: Я использую последнюю версию IOS SDK и Xcode. Apple Stack Exchange

Output of target.logElementTree();

iPad screen

Accessibility Label

+0

Я думаю, что вы могли бы иметь больше удачи на [apple.stackexchange.com] (http://apple.stackexchange.com) – FLY

+1

HTTP: //apple.stackexchange.com/questions/50468/unable-to-get-uiautomation-ios-uilabel-value –

+4

@scubaFLY Ask Different не позволяет программировать вопросы, которые это, безусловно, есть. Переполнение стека - это подходящее место для этого вопроса. – CajunLuke

ответ

5

Я думаю, что вы столкнулись с UIAutomation ошибка, которая существует с тех пор навсегда.

Самый простой способ обойти эту ошибку, чтобы установить accessibilityValue в текст в коде.

Нечто подобное.

NSString *valueString = [NSString stringWithFormat:@"%d", value]; 
self.label.text = valueString; 
self.label.accessibilityValue = valueString; 

помогает тем людям, которые используют Voice Over тоже ;-)

+0

Блестящий! Спасибо. –