2016-03-27 2 views
0

Я использую скрытые NSButtons в моем приложении OS X, чтобы предоставить быстрые клавиши. Как я могу скрыть эти представления из дерева доступности? Я пробовал:Как скрыть (скрытый) NSView из дерева доступности?

button.accessibilityElement = NO; 
button.accessibilityEnabled = NO; 
button.accessibilityLabel = @"Test"; 

VoiceOver будет читать «тест», поэтому он явно использует свойства, которые я устанавливаю. Когда я устанавливаю accessibilityEnabled в NO, он читает также «dimmed» для каждой кнопки.

Как я могу заставить VoiceOver полностью игнорировать эти представления?

+0

Любопытно, почему downvotes. Если вы занижен, я с удовольствием посмотрю, что, по-вашему, мне не хватает. – RealCasually

+1

Вместо того чтобы использовать скрытый элемент пользовательского интерфейса для ответа на комбинацию клавиш, вы действительно должны использовать пункт меню. Есть ли причина, по которой вы не можете этого сделать? Ваш нынешний подход не очень чист. –

+0

Я действительно думаю, что ты прав, я сделаю это. – RealCasually

ответ

1

Вы пробовали скрыть эту кнопку? Если вы установите скрытое представление, оно не будет участвовать в дереве доступности, но оно по-прежнему будет принимать события с ярлыками клавиш.

button.hidden = YES; 
+0

Спасибо, это сработало отлично! – RealCasually

Смежные вопросы