如何为使用代码创建的按钮设置快捷方式?

时间:2018-12-27 08:49:16

标签: objective-c

如何为使用代码创建的按钮设置快捷方式? 当用户按下键盘上的按钮时,等效于用鼠标单击该按钮。 我从未尝试过,所以不知道。

2 个答案:

答案 0 :(得分:1)

来自Button Programming Topics

  

设置按钮的等效键

     

一个按钮可以有一个等效的键,因此当用户按下该键时,该按钮的响应就像被单击一样。

     

请注意,如果将键设置为等效于Return,则该按钮将成为默认按钮。

     

您通常在Interface Builder中设置按钮的等效键。为此,选择按钮并打开检查器的属性窗格。公开按钮的属性,单击“等效项”。字段,然后键入要与按钮关联的键或组合键。 (您可以通过按清除键删除等效的键。)

     

要以编程方式设置等效的键,请在字符中使用setKeyEquivalent:。例如,要将其设置为Return,请使用:

[myButton setKeyEquivalent:@"\r"];
     

要将按钮的按键设置为等同于非打印字符,可以使用NSResponder定义的按键常数,如以下示例所示,它将按钮的按键设置为等效于左箭头键。

unichar arrowKey = NSLeftArrowFunctionKey;
[button setKeyEquivalent:[NSString stringWithCharacters:&arrowKey length:1]];

在Swift中,您设置keyEquivalent属性:

button.keyEquivalent = "\r"

答案 1 :(得分:-1)

UITextField具有文本输入特征,该特征具有预定义的键。

enter image description here

或者您也可以这样做

textField.returnKeyType = .done

然后,您可以使用UITextFieldDelegate确认视图控制器。

textField.delegate = self

并实现UITextFieldDelegate方法

func textFieldShouldReturn(textField: UITextField) -> Bool {

     // implement your logic here...

    textField.resignFirstResponder()
    return true
}