如何在UITableViewCell中嵌套UITextField?

Joh*_*ley 8 iphone uitableview uitextfield uikit ios

我刚刚开始研究我的第一个iOS应用程序.在日历应用程序中添加事件时UITableViewCell,如何创建包含UITextField标题和位置字段的内容?这样做有没有方便的第三方组件?

我可以看到表视图有两个分组的项目,文本字段有一些占位符文本,它更多的是关于如何使文本字段占用其父表视图单元格的100%.

在此先感谢您的帮助.

Calendar.app标题和位置操作表

小智 12

您需要将UITextView添加为UITableViewCell的子视图.在该cellForRowAtIndexPath:方法中执行以下操作:

像往常一样创建一个UITextView:

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0,0,300,40)];
Run Code Online (Sandbox Code Playgroud)

注意:数字是x,y,宽度,高度.修改这些以适合您自己的应用程序.

将其添加为单元格的子视图:

[cell addSubview:textView];
Run Code Online (Sandbox Code Playgroud)

如果您只希望特定单元格具有textview,则需要执行类似的操作

//Use the if statement to specify which row(s) you want the UITextView to appear in
if (indexPath.row == 1) {
     UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0,0,300,40)];
     [cell addSubview:textView];
}
Run Code Online (Sandbox Code Playgroud)

  • 您可能希望将textview添加到单元格的contentView,而不是整个视图.这样,它可以更好地适应方向变化和状态变化. (2认同)

tJe*_*ner 2

iOS 的表视图编程指南中有一个名为“仔细查看表视图单元格”的部分。它描述了两种自定义表格视图单元格的技术:使用代码和使用预构建的笔尖。我认为它有很多您会感兴趣的信息。