我想在 swift 中使用计算器作为 UITextField 的自定义输入 View 。
我有一个计算器在我的应用程序中单独定义为 CalculatorViewController。
我需要在我的 InputViewController 中的 UITextField 中访问 CalculatorViewController。
我在 InputViewController 中定义了以下属性来访问计算器 View
var textFieldInputView : UIView!{
let calculatorInputController = self.storyboard?.instantiateViewControllerWithIdentifier("calculatorVC") as! calculatorViewController
let calculatorInputView = calculatorInputController.view
return calculatorInputView
}
然后在 textField 中添加以下代码以访问 textFieldInputView
textField.inputView = textFieldInputView
现在,当我单击文本字段时,计算器弹出窗口如下所示,它不在键盘出现的位置。也没有按钮工作。
如果有人能告诉我如何解决这个问题,我将不胜感激。
最佳答案
按照下面的方法解决了这个问题。
- 创建了一个界面构建器“keyboard.xib”,其中包含用于显示的所有
UIButton
和UILabel
。 - 将
keyboard.xib
链接到calculatorViewController
- 子类化 View Controller (例如
DetailViewController
),其中UITextFields
作为calculatorViewController
的子类存在。 按照下面的代码创建了一个
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 }
如下所示将自定义键盘 View 指定为 UITextField 的输入 View
textField.inputView = customkeyboardView
关于ios - 在 Swift 中将自定义输入 View 添加到 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30545009/