2015-05-30 47 views
0

我想在swift中使用一个计算器作为UITextField的自定义输入视图。在Swift中添加自定义输入视图到UITextField

我有一个计算器作为CalculatorViewController在我的应用程序中单独定义。

我需要访问我的InputViewController中的UITextField中的CalculatorViewController。

我定义的InputViewController以下属性来访问计算器视图

var textFieldInputView : UIView!{ 

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

     let calculatorInputView = calculatorInputController.view 

     return calculatorInputView 
} 

然后添加在文本框下面的代码来访问textFieldInputView

textField.inputView = textFieldInputView 

现在,当我点击文本框时,按照下面的计算器弹出窗口,它不在键盘出现的位置。也没有任何按钮工作。

非常感谢,如果有人能告诉我如何得到这个固定的。

screenshot of custom input view

回答

1

解决此具体根据以下。

  1. 创建一个界面生成器 “keyboard.xib” 的所有UIButtonUILabel显示。
  2. 链接的keyboard.xibcalculatorViewController
  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 
    
指示
相关问题