提前道歉,因为我非常 iOS和Objective-C的新手,这可能是一个非常基本的问题,但我已经碰壁了,经过几天的网络搜索,我还是迷路了:
我正在使用各种不同类型的原型单元生成动态表。一种类型只有一个文本字段,用户可以在其中输入或编辑任意字符串。我在故事板编辑器中设计了单元格,因为如果可能的话,我宁愿不以编程方式生成所有内容。
我在变量中已经有一个字符串,我想用它来填充文本字段。
你如何处理和填充这个领域?我假设答案涉及在使用dequeueReusableCellWithIdentifier调用单元格的时刻这样做,但这是我设法得到的......我需要帮助连接点。
我已经阅读了Apple“适用于iOS的表视图编程指南”,但这对此问题没有任何帮助。
(如果我可以将此问题标记为“noob”......)
答案 0 :(得分:0)
创建UITableViewCell的新子类,并将单元格的类设置为此类。 (选择单元格,然后单击身份检查器,左侧的第3个图标。在其中输入类名称:Class)您还需要为单元格指定标识符。我经常把它和同一个名字放在一起,所以不要在下面的代码中混淆这两个。一个是标识符,另一个是类。
在你的cellForRowAtIndexPath中,获取你的特殊类的实例。
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"EventCell";
EventCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
[cell populateTextField];
return cell;
}
当您打开故事板时,您可以控制 - 从文本框拖动到新类以创建插座属性。 (我们称之为textField)
在按住Ctrl键拖动然后在显示对话框时输入时,您的属性将如下所示:
@property (weak, nonatomic) IBOutlet UITextField *textField;
然后在新课程中,创建populateTextField方法:
-(void)populateTextField {
self.textField.text = @"My special string";
}
另请注意,您可以在textField上放置占位符文本,因此您可能不需要完成所有这些操作。