[英]Hide KeyBoard Shortcuts Bar on a iOS Custom Keyboard
我正在嘗試構建可在許多應用程序中通用的自定義鍵盤。 我想隱藏“鍵盤快捷鍵”欄,但是我很難做到這一點。 到目前為止,我在論壇上看到的所有帖子都是通過inputAssistantItem.leadingBarButtonGroups.removeAll()
使用inputAssistantItem.leadingBarButtonGroups.removeAll()
或inputAssistantItem.leadingBarButtonGroups = []
。
但是,由於我想一般使用它而不是在自己的應用程序中使用,因此我無法訪問文本字段。
我正在嘗試將其與如下所示的視圖一起使用,但顯然無法正常工作。 我已經嘗試了很多變化,以至於我完全感到困惑。
這是我的代碼片段:
import UIKit
class KeyboardViewController: UIInputViewController {
@IBOutlet var nextKeyboardButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
let nib = UINib(nibName: "golfview", bundle: nil)
let objects = nib.instantiate(withOwner: self, options: nil)
view = objects[0] as! UIView;
//get rid of top bar of keyboard
view.inputAssistantItem.leadingBarButtonGroups = []
view.inputAssistantItem.trailingBarButtonGroups = []
import UIKit
class GreenInputView : UIView {
//MARK: Initializers
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
//MARK: Setup
private func setup() {
backgroundColor = .green
heightAnchor.constraint(equalToConstant: 200).isActive = true
}
}
import UIKit
class RedView : UIView {
private let greenInputView = GreenInputView()
//MARK: Initializers
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
//MARK: Setup
private func setup() {
setupBase()
setupGreenInputView()
}
private func setupBase() {
backgroundColor = .red
}
private func setupGreenInputView() {
greenInputView.translatesAutoresizingMaskIntoConstraints = false
}
override var canBecomeFirstResponder: Bool {
return true
}
override var inputView: UIView? {
return greenInputView
}
}
import UIKit
class ViewController: UIViewController {
private let redView = RedView()
override func viewDidLoad() {
super.viewDidLoad()
setupRedView()
}
private func setupRedView() {
view.addSubview(redView)
redView.translatesAutoresizingMaskIntoConstraints = false
redView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
redView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
redView.widthAnchor.constraint(equalToConstant: 100).isActive = true
redView.heightAnchor.constraint(equalToConstant: 100).isActive = true
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
redView.becomeFirstResponder()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.