0

ほとんどの状況では、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
}
4

0 に答える 0