0

UITextField へのカスタム入力ビューとして計算機を迅速に使用しようとしています。

アプリで CalculatorViewController として個別に定義された電卓があります。

InputViewController にある UITextField の CalculatorViewController にアクセスする必要があります。

電卓ビューにアクセスするために、InputViewController で次のプロパティを定義しました

var textFieldInputView : UIView!{

        let calculatorInputController = self.storyboard?.instantiateViewControllerWithIdentifier("calculatorVC") as! calculatorViewController

        let calculatorInputView = calculatorInputController.view

        return calculatorInputView
}

次に、textField に次のコードを追加して、textFieldInputView にアクセスします。

    textField.inputView = textFieldInputView

テキストフィールドをクリックすると、以下のように電卓がポップアップしますが、キーボードが表示される位置にはありません。また、どのボタンも機能しません。

誰かがこれを修正する方法を教えてくれたら、とても感謝しています。

カスタム入力ビューのスクリーンショット

4

1 に答える 1

3

以下の方法で解決しました。

  1. 表示用のすべてのとを備えたインターフェイス ビルダー「keyboard.xib 」を作成しました。UIButtonUILabel
  2. にリンクしkeyboard.xibましたcalculatorViewController
  3. のサブクラスとして存在するView Controller(たとえばDetailViewController、 )UITextFieldsをサブクラス化しcalculatorViewControllerます。
  4. UIView以下のコードに従って作成されました

        var customkeyboardView : UIView {
    
        let nib = UINib(nibName: "CalculatorView", bundle: nil)
        let objects = nib.instantiateWithOwner(self, options: nil)
        let cView = objects[0] as! UIView
        return cView
    }
    
  5. 以下に示すように、customkeyboardView を UITextField の inputView として割り当てます。

    textField.inputView = customkeyboardView
    
于 2015-06-01T12:03:25.063 に答える