【问题标题】:How to create TextField like UITableViewCell? [duplicate]如何创建像 UITableViewCell 这样的 TextField? [复制]
【发布时间】:2011-12-14 23:23:39
【问题描述】:

可能重复:
Having a UITextField in a UITableViewCell

我尝试了几天,但没有发现任何用处,所以我的问题是:如何创建 UITableViewCell UITextField Like?

http://i.stack.imgur.com/poeay.png

【问题讨论】:

    标签: iphone ios cocoa-touch ipad uikit


    【解决方案1】:

    你可以像这样将它添加到单元格内容视图中

    UITextField *textField = [[UITextField alloc] initWithFrame:rect];
    textField.tag = textTag;
    
    //Add textfield to contentView
    [cell.contentView addSubview:textField];
    

    记得标记它,因为当你重用一个单元格时,contentView 不会被清除,所以你应该稍后使用相同的 UITextView 来获取它:

    UITextField *textField = (UITextField *)[cell.contentView viewWithTag:textTag];
    

    此外,我注意到您第一次创建它,并将您的文本字段添加到 contentView,然后修改 mainLabel,该子视图将位于顶部,因此在返回单元格之前执行以下操作:

    [cell.contentView bringSubviewToFront:textField];
    

    【讨论】:

      【解决方案2】:

      只需像这样将UITextField 添加到UITableViewCell..

      UITextField* textField = [[UITextField alloc] initWithFrame:frame]; 
      
      [cell addSubview:textField];
      

      【讨论】:

      • 您不应该将子视图直接添加到单元格中,而应添加到其内容视图中。 Apple 文档:“UITableViewCell 对象的内容视图是单元格显示的内容的默认超级视图。如果您想通过简单地添加其他视图来自定义单元格,您应该将它们添加到内容视图中,以便它们被适当地定位为单元格进入和退出编辑模式。”
      • 当我想恢复做某事的价值时,如何在我的代码中使用它们?
      • @ziadtamim:为指向文本字段的指针创建一个实例变量或属性,并在创建字段后将该指针存储在那里。或者,将属性设为插座,并在 nib 中(而不是在代码中)创建字段并将插座连接到它。
      【解决方案3】:

      您可以在界面生成器中创建它。将 UITableViewCell 拖入工作区,放入您的 UILabel 或 UITextField。您可以根据需要自定义外观。

      现在在您的视图控制器中,为此 UITableViewCell 声明一个 IBOutlet。当程序调用 cellForRowAtIndexPath 时,您可以简单地使单元格等于该变量。

      另一种方法是以编程方式在单元格的内容视图中添加 UITextField。

      【讨论】:

        【解决方案4】:

        您可以创建一个 UIView,其中包含一些 UILabel 和一些 UITextField。并且使用视图层的库和属性cornerRadious,您可以做圆角边框

        【讨论】:

          猜你喜欢
          • 2019-01-28
          • 1970-01-01
          • 2022-01-23
          • 2019-01-25
          • 2015-04-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-20
          相关资源
          最近更新 更多