我使用了几个按钮' 0123456789。' (和其他一些人)作为键盘的替代品。它们连接到(几个)texfields。我以编程方式制作它们,所以没有故事板。我也使用UITextFieldDelegate。这按预期工作,我可以将文本输入文本域。
我将以下代码用于我的按钮:
func textFieldDidBeginEditing(textField: UITextField) {
activeField = textField
}
@IBAction func Pressed(sender: UIButton) {
if (activeField != nil) {
switch sender.tag {
case 0:
activeField!.text = activeField!.text+"0"
case 1:
问题是我每次点击文本字段时,键盘都会打开。我想避免这种情况......因为我用按钮做了输入替代。单击文本字段时如何摆脱键盘?
答案 0 :(得分:0)
只需从您提及的代表中NO
返回textFieldShouldBeginEditing:
。
当用户执行通常会启动编辑会话的操作时,文本字段首先调用此方法以查看是否应该实际进行编辑。在大多数情况下,您只需从此方法返回YES即可继续编辑。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (textField == /* a text field that is using your custom layout */)
return NO;
}
虽然你为什么不使用[textField setKeyboardType:UIKeyboardTypeNumberPad];
答案 1 :(得分:0)
您应该将自定义键盘设为textField的inputView。然后将显示它而不是内置键盘。
即:
$(':checkbox').click(function() {
console.log('checkbox clicked');
this.change();
});
答案 2 :(得分:0)
我使用自定义按钮制作了类似的输入界面...为什么不使用UITextField
,而是使用UILabel
来显示" 8,900" (输入)。
然后让按钮操纵UILabel.text
。