在文本字段中重复使用单元格

达西尔瓦

我有一个带有UITextfield的自定义单元格。对于不同类型的模型,此单元格具有不同的行为。例如,我可以有一个表示数字的模型或其他表示日期的模型。

如果是数字,则只能输入数字,如果它是用户开始在文本字段上键入的日期,则会出现一个uipicker来选择日期。

在方法cellForRow中,我将文本字段的委托设置为模型,该模型将实现该单元格的每种行为。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    //Get Element
    SuperElement * elem = [self.arrayFields objectAtIndex:indexPath.row];
    //Get Cell of the element
    SuperCell *cell = (SuperCell*)[elem returnCellForCollectionView:collectionView andIndexPath:indexPath];

    return cell;
}

DateElement

-(UICollectionViewCell*)returnCelForCollectionView:(UICollectionView*)collectionView andIndexPath:(NSIndexPath*)indexPath{

    SuperCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:[SuperCell reuseIdentifier]
                                                                    forIndexPath:indexPath];
    cell.textField.text = self.value;
    cell.textField.delegate =self;

return cell; }

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    //code to show picker
}

NumberElement

-(UICollectionViewCell*)returnCelForCollectionView:(UICollectionView*)collectionView andIndexPath:(NSIndexPath*)indexPath{

        SuperCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:[SuperCell reuseIdentifier]
                                                                        forIndexPath:indexPath];
        cell.textField.text = self.value;
        cell.textField.delegate =self;

    return cell;
}
  - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
{
   //reg to accept only numbers
}

我的问题是重新加载表时,例如,当用户开始编辑文本字段时,日期选择器会出现在许多模型中。在我的自定义单元格中,我尝试清理何时可以重复使用,但没有效果

-(void)prepareForReuse{

    [super prepareForReuse];
    [self.textField resignFirstResponder];
    self.textField.delegate = nil;

 }

有任何想法吗?提前致谢

编辑

如果我在prepareForReuse´方法中将文本字段的inputView设置为nil

self.textField.inputView = nil;

选择器不会出现。但是我在datePicker中添加了“完成”按钮,并且该按钮仍然出现。

编辑2

要删除完成按钮,只需清除textField self.textField.inputAcessoryView = nil的inputAcessoryView即可;

在此处输入图片说明

科齐亚

您应该使用texfieldspropertyinputView来设置输入模式。当您将委托设置为nil时,此属性将保持不变,您想要摆脱的行为也将保持不变。

文档状态:

如果此属性中的值为nil,则文本字段在成为第一响应者时将显示标准系统键盘。将自定义视图分配给该属性将导致显示该视图。

此属性的默认值为nil。

示例:DateElement

-(UICollectionViewCell*)returnCelForCollectionView:(UICollectionView*)collectionView andIndexPath:(NSIndexPath*)indexPath {
    SuperCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:[SuperCell reuseIdentifier]
                                                                    forIndexPath:indexPath];
    cell.textField.text = self.value;
    cell.textField.delegate =self;
    UIDatePicker *datePicker = [[UIDatePicker alloc] init];
    datePicker.datePickerMode = UIDatePickerModeDate;
    cell.textField.inputView = datePicker;

return cell; }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UIbutton currentTitle在单元格中重复使用Swift

来自分类Dev

在原型单元格中填充文本字段

来自分类Dev

从文本字段在tableView中添加新单元格

来自分类Dev

从 UITableViewController 中的单元格引用文本字段

来自分类Dev

如何使用textFieldDidBeginediting从集合视图,文本字段中获取单元格的索引路径

来自分类Dev

在 UITableview 中,键入的文本字段值在不同的单元格中重复出现,如何使用目标 c 进行纠正

来自分类Dev

可重复使用的自定义单元格

来自分类Dev

从 tableview 单元格收集文本字段文本 (Swift)

来自分类Dev

无法使用可重复使用的单元格。如何优化tableView中的平滑滚动?

来自分类Dev

UITableView中重复使用的单元格会导致发生不必要的操作

来自分类Dev

无法在 tableview 自定义单元格中获取文本字段文本

来自分类Dev

如何从TableView单元格检索文本字段值

来自分类Dev

iOS:如何在代码中的表单元格中为文本字段添加约束

来自分类Dev

如何获取在TableView单元格中显示的数据并将其显示在文本字段中?

来自分类Dev

当文本字段位于uitableview的单元格中时,touchesBegan不被调用

来自分类Dev

如何在TableView单元格中快速处理多个文本字段

来自分类Dev

将动态文本字段单元格插入TableView中的节-Swift

来自分类Dev

Swift 2.1-删除单元格后清除TableViewCell中的文本字段

来自分类Dev

如何在静态表格单元格中布局多个文本字段?(Xcode,迅速)

来自分类Dev

如何区分自定义单元格中的两个文本字段?

来自分类Dev

使用javascript将文本字段插入表格单元格

来自分类Dev

添加文本字段和按钮以使用extjs进行网格单元格编辑

来自分类Dev

查找重复的文本字符串,然后将重复的行与相邻单元格中的公用数字分组

来自分类Dev

UICollectionView防止仅对第一个单元格重复使用单元格

来自分类Dev

UICollectionView防止仅对第一个单元格重复使用单元格

来自分类Dev

在这种情况下,如何使用自定义tableView单元格处理可重复使用的单元格(在代码中无法从其他位置更改单元格背景色)

来自分类Dev

如何正确使用UITableViewCellStyle和UITableViewCellStyle并重复使用单元格?

来自分类Dev

如何在目标c中使用标签和文本字段创建自定义单元格

来自分类Dev

由于可重复使用的单元格,UITableView混合值

Related 相关文章

  1. 1

    UIbutton currentTitle在单元格中重复使用Swift

  2. 2

    在原型单元格中填充文本字段

  3. 3

    从文本字段在tableView中添加新单元格

  4. 4

    从 UITableViewController 中的单元格引用文本字段

  5. 5

    如何使用textFieldDidBeginediting从集合视图,文本字段中获取单元格的索引路径

  6. 6

    在 UITableview 中,键入的文本字段值在不同的单元格中重复出现,如何使用目标 c 进行纠正

  7. 7

    可重复使用的自定义单元格

  8. 8

    从 tableview 单元格收集文本字段文本 (Swift)

  9. 9

    无法使用可重复使用的单元格。如何优化tableView中的平滑滚动?

  10. 10

    UITableView中重复使用的单元格会导致发生不必要的操作

  11. 11

    无法在 tableview 自定义单元格中获取文本字段文本

  12. 12

    如何从TableView单元格检索文本字段值

  13. 13

    iOS:如何在代码中的表单元格中为文本字段添加约束

  14. 14

    如何获取在TableView单元格中显示的数据并将其显示在文本字段中?

  15. 15

    当文本字段位于uitableview的单元格中时,touchesBegan不被调用

  16. 16

    如何在TableView单元格中快速处理多个文本字段

  17. 17

    将动态文本字段单元格插入TableView中的节-Swift

  18. 18

    Swift 2.1-删除单元格后清除TableViewCell中的文本字段

  19. 19

    如何在静态表格单元格中布局多个文本字段?(Xcode,迅速)

  20. 20

    如何区分自定义单元格中的两个文本字段?

  21. 21

    使用javascript将文本字段插入表格单元格

  22. 22

    添加文本字段和按钮以使用extjs进行网格单元格编辑

  23. 23

    查找重复的文本字符串,然后将重复的行与相邻单元格中的公用数字分组

  24. 24

    UICollectionView防止仅对第一个单元格重复使用单元格

  25. 25

    UICollectionView防止仅对第一个单元格重复使用单元格

  26. 26

    在这种情况下,如何使用自定义tableView单元格处理可重复使用的单元格(在代码中无法从其他位置更改单元格背景色)

  27. 27

    如何正确使用UITableViewCellStyle和UITableViewCellStyle并重复使用单元格?

  28. 28

    如何在目标c中使用标签和文本字段创建自定义单元格

  29. 29

    由于可重复使用的单元格,UITableView混合值

热门标签

归档