我有一个NSSecureTextField。如何才能使键盘按下“Enter”按钮时触发“登录”按钮?谢谢!
答案 0 :(得分:2)
将Login按钮本身的等效键盘设置为\r
(返回)可能更好一点。为此,请在Interface Builder中选择按钮,打开属性检查器,然后单击Key Equiv.
弹出按钮,然后按下return
键,使其如下图所示:
这将使按钮呈蓝色/石墨色,使其成为“默认”按钮。只要按下return
或enter
键,就会自动“点击”此按钮。
答案 1 :(得分:0)
您也可以尝试此功能。将NSSecureTextField的委托设置为此函数。 当您在NSSecureTextField中按Enter键时它将执行。
- (IBAction)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
{
if (commandSelector == @selector(insertNewline:))
{
//Do login stuff
}
else if(commandSelector == @selector(deleteBackward:)){
NSUInteger length = [[secureText stringValue] length];
if(length != 0)
{
[secureText setStringValue:[[secureText stringValue] substringToIndex: length-1]];
}
}
}
找到示例here
编辑: 添加了一个deleteBackward案例来处理退格,因为此函数忽略了退格。