Я создал приложение для какао, в котором есть окно с текстовым полем, чтобы получить пользовательский ввод, маленькую кнопку значка клавиатуры, чтобы открыть программу просмотра клавиатуры. Когда пользователь нажимает кнопку «ОК» или «Отмена», чтобы закончить, я хочу скрыть программу просмотра клавиатуры. То, что я сделал это следующим образом:Toggle Keyboard Viewer на Mac OS X программирование
//action for keyboard-icon button
-(IBAction)input:(id)sender
{
[self toggleKeyboard:YES];
}
//action for Cancel button
-(IBAction)cancel:(id)sender
{
[self toggleKeyboard:NO];
[NSApp abortModal];
[[self window] orderOut: self];
}
//action for OK button
-(IBAction)ok:(id)sender
{
[self toggleKeyboard:NO];
[NSApp stopModal];
[[self window] orderOut: self];
}
-(void)toggleKeyboard:(BOOL)show
{
NSDictionary *property = [NSDictionary dictionaryWithObject:(NSString*)kTISTypeKeyboardViewer
forKey:(NSString*)kTISPropertyInputSourceType];
NSArray *sources = (NSArray*)TISCreateInputSourceList((CFDictionaryRef)property, false);
TISInputSourceRef keyboardViewer = (TISInputSourceRef)[sources objectAtIndex:0];
if (show == YES)
{
TISSelectInputSource(keyboardViewer);
}
else
{
TISDeselectInputSource(keyboardViewer);
}
CFRelease((CFTypeRef)sources);
}
можно запустить программу просмотра клавиатуры успешно, но он не может быть скрыт TISDeselectInputSource во все времена. Пожалуйста помоги!!!
«Клавиатурный просмотрщик», который вы показываете в MacOS, не предназначен для использования так же, как всплывающая клавиатура в iOS, и я уверен, что ее нельзя легко отбросить программным путем. Если никто другой не найдет лучшего решения, я бы немного исследовал, как его отклонить с помощью Apple Events или Apple Script. –
Привет, Майкл, я просто не могу найти виртуальные клавиатуры с открытым кодом на Mac OS или любую документацию о том, как его реализовать. Я пробовал метод applescript (см. [This] (http://patjack.co.uk/toggle-keyboard-viewer-in-snow-leopard-10-6/)), используя класс NSAppleScript, но он не работает , Не могли бы вы выдать по-настоящему рабочий аппликатор? или некоторые предложения о том, как реализовать виртуальную клавиатуру в какао? Заранее большое спасибо! – leochou0729
@ leochou0729: Есть ли конкретная причина, по которой вы пытаетесь показать виртуальную клавиатуру? –