【问题标题】:Adding Custom input view to UITextField in Swift在 Swift 中向 UITextField 添加自定义输入视图
【发布时间】:2015-08-13 05:32:34
【问题描述】:

我正在尝试使用计算器作为 swift 中 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

现在,当我单击文本字段时,弹出计算器,如下所示,它不在键盘出现的位置。也没有按钮工作。

如果有人能告诉我如何解决这个问题,我们将不胜感激。

【问题讨论】:

    标签: ios swift uitextfield inputview


    【解决方案1】:

    按照下面的方法解决了这个问题。

    1. 创建了一个界面构建器“keyboard.xib”,其中包含所有UIButtonUILabel 用于显示。
    2. keyboard.xib 链接到calculatorViewController
    3. 子类化视图控制器(比如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
      

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 1970-01-01
      • 2015-01-27
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      相关资源
      最近更新 更多