【发布时间】:2015-06-13 23:23:02
【问题描述】:
如何在数字键盘中添加点? 当我使用通知 UIKeyboardDidShowNotification 时,我希望 UIButton 出现在数字键盘键盘的左下方。
这将是按钮的框架:
let dotButton = UIButton(frame: CGRectMake(0, 162, view.frame.width/3, 54)) ,
但它必须添加为数字键盘的子视图以防止隐藏它,该怎么做?
编辑: 我让它看起来像这样
dotButton.addTarget(self, action: "addDot:", forControlEvents: .TouchUpInside)
dotButton.setTitle(".", forState: .Normal)
dotButton.titleLabel?.font = UIFont(name: "Helvetica Neue", size: 25)
dotButton.setTitleColor(UIColor.blackColor(), forState: .Normal)
dispatch_async(dispatch_get_main_queue(), {
let keyboardView:UIView = UIApplication.sharedApplication().windows.last?.subviews.first as! UIView
self.dotButton.frame = CGRectMake(0, keyboardView.frame.size.height-54, self.view.frame.width/3, 54)
keyboardView.addSubview(self.dotButton)
keyboardView.bringSubviewToFront(self.dotButton)
})
但现在我不知道当我点击按钮添加 .在带有方法 addDot 的 textField 中,我不知道如何告诉 textField 添加一个 .再次需要帮助...
编辑2:
我创建了一个类变量textFieldInEdit:UITextField!
在func textFieldShouldBeginEditing(textField: UITextField) -> Bool
我这样做textFieldInEdit = textField 现在我的功能addDot 是:
textFieldWhichEdit.text = "\(textFieldWhichEdit.text).",
但我现在遇到了另一个问题。我有不同键盘类型的字段如何检测出现的键盘并仅在数字键盘上显示点?
编辑3:
func textFieldDidBeginEditing(textField: UITextField) {
if(textField.keyboardType.rawValue==4){
textFieldWhichEdit = textField
dotButton.hidden = false
}else{
dotButton.hidden = true
}
}
完成我在数字键盘上制作了一个点按钮 :) 如果有人知道更好的方法可以写出来,我会接受答案:)
【问题讨论】:
-
您可以让您的文本字段接受逗号作为小数输入
-
我想要。制作双打:)
-
我知道我已经回答了这个问题让我找到答案
-
非常感谢我以后会用它来保证安全,但我仍然想要 .显示在数字键盘上。