我想制作一个仅使用
UIKeyCommand
键的 [return]
。到目前为止我已经尝试过:
UIKeyCommand *selectCommand = [UIKeyCommand keyCommandWithInput:@"\n" modifierFlags:0 action:@selector(chooseSelection:)];
回车键没有全局常量,就像上、下、左、右和退出键一样(来自
UIResponder.h
):
// These are pre-defined constants for use with the input property of UIKeyCommand objects.
UIKIT_EXTERN NSString *const UIKeyInputUpArrow NS_AVAILABLE_IOS(7_0);
UIKIT_EXTERN NSString *const UIKeyInputDownArrow NS_AVAILABLE_IOS(7_0);
UIKIT_EXTERN NSString *const UIKeyInputLeftArrow NS_AVAILABLE_IOS(7_0);
UIKIT_EXTERN NSString *const UIKeyInputRightArrow NS_AVAILABLE_IOS(7_0);
UIKIT_EXTERN NSString *const UIKeyInputEscape NS_AVAILABLE_IOS(7_0);
还有什么我可以尝试捕获返回/输入键吗?
使用
@"\r"
进行回车而不是 @"\n"
进行换行应该可以。
带有
UIKeyCommand
的 \r
并不总是适用于现代 iOS 版本,您必须将 wantsPriorityOverSystemBehavior
属性设置为 true
。
let selectCommand = UIKeyCommand(input: "\r", modifierFlags: [], action: #selector(chooseSelection(_:)))
selectCommand.wantsPriorityOverSystemBehavior = true