iOS 7 - 更改自定义表视图单元格中文本字段的键盘类型



我有一个应用程序,用户在其中选择表格视图中的项目,然后单击行内的 textField 并放置一个数字(用于数量)。我想做的是,当用户单击textField时,符号和数字键盘会出现,甚至更好的是,一个数字键盘。这是我到目前为止所拥有的:

在我的SearchResultTableViewCell.m类(我用于自定义表视图单元格的类)中,我有这个函数:

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField setKeyboardType:UIKeyboardTypeNumberPad];
[textField reloadInputViews];
return YES;
}

到目前为止,它不起作用。我也试着做

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[quantity setKeyboardType:UIKeyboardTypeNumberPad];
[quantity reloadInputViews];
return YES;
}

其中quantity是 .h 文件中声明的IBOutlet UITextField

您应该在custom tableview cell's.h文件中声明textfieldIBOutlet并设置键盘类型

1)在自定义单元格的.m文件中awakeFromNib

-(void)awakeFromNib
{
[self.textField setKeyboardType:UIKeyboardTypeNumberPad];
}

2)cellForRowAtIndexPath表视图的数据源方法。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath     *)indexPath
{
// Init you cell as you are doing right now
CustomCell* cell;
[cell.textField setKeyboardType:UIKeyboardTypeNumberPad]; 
}

您正在"textFieldShouldReturn"处执行所有这些工作,这是将文本输入到某个文本字段(数量文本字段或其他文本字段)中的结束

为什么不在"textFieldShouldBeginEditing:(UITextField *)textField"中执行此操作,或者为什么不简单地在情节提要或xib文件中设置数量文本字段的键盘类型?

您使用了错误的方法来设置键盘!

按下键盘上的返回按钮时调用textFieldShouldReturn

在初始化代码中的 textField 或在 .xib 中设置属性时必须设置键盘类型,或者如果要在用户单击 textField 时设置键盘类型,请将代码放入以下方法中textFieldShouldBeginEditing:(UITextField *)textField

最新更新