iOS 애플리케이션에 키보드 단축키 지원 추가(UIKit 및 SwiftUI 모두)
많은 사람들이 iPad 용 키보드 커버를 구입하고 있기 때문에 응용 프로그램에 키보드 단축키를 구현하는 것이 편리 할 것입니다. 구현은 몇 분만에 완료됩니다.
응용 프로그램에서 제공하는 모든 바로 가기를 보려면 iPad 키보드의 명령 ⌘ 키를 길게 누릅니다. 그러면 제공되는 바로 가기 목록 메뉴가 표시됩니다.
SwiftUI 애플리케이션에
수식 키 keyboardShortcut
를 사용하면 SwiftUI의 대화식 UI 요소에 바로 가기 키를 쉽게 추가 할 수 있습니다.
public func keyboardShortcut(_ key: KeyEquivalent, modifiers: EventModifiers = .command) -> some View
예를 들어, 버튼에 키보드 단축키를 추가하려면:
Button(action: {
counter += 1
}, label: {
Text("+1")
})
.keyboardShortcut("a", modifiers: [.command])
자격 키에 대하여
자격 키를 하나 이상 설정할 수 있습니다. capsLock
, shift
, control
, option
, command
, numericPad
, and function
.
사용자는 동작을 수행하기 위해 한정 키와 사용자가 정의한 문자 키를 눌러야 합니다.
예를 들어 키보드 단축키를 .keyboardShortcut("a", modifiers: [.command])
로 설정하면 사용자는 명령 키와 문자 a
키를 동시에 눌러야 합니다.
키보드 단축키를 .keyboardShortcut("r", modifiers: [.command, .option])
로 설정하면 사용자는 명령 키, 옵션 키, 문자 r
키를 동시에 눌러야 합니다.
키보드 단축키를 추가할 수 있는 UI 요소
버튼이나 스위치(토글)에 키보드 단축키를 추가할 수 있습니다.
UIKit 애플리케이션에
UIKit를 사용하는 어플리케이션의 경우, UIKeyCommand
오브젝트를 작성해, 주어진 일련의 키보드 단축키로 keyCommands
프로퍼티를 오버라이드(override) 할 수 있습니다.
class ViewController: UIViewController {
override var keyCommands: [UIKeyCommand]? {
return [
.init(title: "新しいメモを作成する", action: #selector(self.actionCreate), input: "n", modifierFlags: [.command])
]
}
@objc func actionCreate() {
print("create")
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
제목, 이미지, 수행할 작업, 한정 플래그 등을 지정할 수 있습니다. 이것은 문서에서 설명하는 함수의 코드입니다.
public convenience init(title: String = "", image: UIImage? = nil, action: Selector, input: String, modifierFlags: UIKeyModifierFlags = [], propertyList: Any? = nil, alternates: [UICommandAlternate] = [], discoverabilityTitle: String? = nil, attributes: UIMenuElement.Attributes = [], state: UIMenuElement.State = .off)
트위터 @MszPro
내 게시된 Qiita 기사 목록을 카테고리별로 확인할 수 있습니다.
Reference
이 문제에 관하여(iOS 애플리케이션에 키보드 단축키 지원 추가(UIKit 및 SwiftUI 모두)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MaShunzhe/items/2480572a43edb8c857be
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public func keyboardShortcut(_ key: KeyEquivalent, modifiers: EventModifiers = .command) -> some View
Button(action: {
counter += 1
}, label: {
Text("+1")
})
.keyboardShortcut("a", modifiers: [.command])
UIKit를 사용하는 어플리케이션의 경우,
UIKeyCommand
오브젝트를 작성해, 주어진 일련의 키보드 단축키로 keyCommands
프로퍼티를 오버라이드(override) 할 수 있습니다.class ViewController: UIViewController {
override var keyCommands: [UIKeyCommand]? {
return [
.init(title: "新しいメモを作成する", action: #selector(self.actionCreate), input: "n", modifierFlags: [.command])
]
}
@objc func actionCreate() {
print("create")
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
제목, 이미지, 수행할 작업, 한정 플래그 등을 지정할 수 있습니다. 이것은 문서에서 설명하는 함수의 코드입니다.
public convenience init(title: String = "", image: UIImage? = nil, action: Selector, input: String, modifierFlags: UIKeyModifierFlags = [], propertyList: Any? = nil, alternates: [UICommandAlternate] = [], discoverabilityTitle: String? = nil, attributes: UIMenuElement.Attributes = [], state: UIMenuElement.State = .off)
트위터 @MszPro
내 게시된 Qiita 기사 목록을 카테고리별로 확인할 수 있습니다.
Reference
이 문제에 관하여(iOS 애플리케이션에 키보드 단축키 지원 추가(UIKit 및 SwiftUI 모두)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MaShunzhe/items/2480572a43edb8c857be텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)