ほとんどの状況では、UITextField または UITextView がファーストレスポンダーになったときに、xib からカスタム入力アクセサリ ビューを呼び出す必要があります。ただし、UIButton が押されるたびにカスタム入力アクセサリ ビューをキーボードの上に表示する必要があります。
ビューをファーストレスポンダーにできるようにするなど、多くのことを試しましたが、実際には xib からカスタム入力アクセサリ ビューが表示されますが、キーボードは表示されません。
私が達成しようとしていることの最も良い例は、iOS Safari.app のアクティビティ メニューで [ページを検索] ボタンを押すのとまったく同じ動作です。
私の進行状況と試行を表示したい場合は、コード サンプルを提供できます。よろしくお願いいたします。
import UIKit
class KeyboardBarViewController : UIViewController {
override func loadView() {
self.view = KeyboardView()
self.view.backgroundColor = UIColor.clearColor()
self.view.becomeFirstResponder()
}
@IBAction func previousPressed() {
print( "PREV" )
}
@IBAction func nextPressed() {
print( "NEXT" )
}
@IBAction func donePressed() {
print( "DONE" )
}
@IBOutlet var textField: UITextField!
}
import UIKit
class KeyboardView : UIView {
var keyboardBar = NSBundle.mainBundle().loadNibNamed( "KeyboardBar", owner: nil, options: nil).last?.view as! KeyboardBar
override func canBecomeFirstResponder() -> Bool {
return true
}
override var inputAccessoryView : KeyboardBar {
return keyboardBar
}
}
import UIKit
class KeyboardBar : UIView {
// stubbed out to be used as a class type for casting the xib contents
}