UITableview Scroll将擦除UITableviewcell中的文本字段中的数据
我有一个UITableViewController与UITextfield内的tableview单元格。 如果我滚动表格视图,用户input的文本字段中的数据消失。 我试图将文本字段数据添加到NSMutableArray,但它仍然无法正常工作。 请任何帮助。
当调用cellForRowAtIndexPath:
,返回的单元格必须完全填充任何要显示的数据。 因此,如果单元格包含UITextfield,则需要将其text
属性设置为数据中该行的正确值。
当一个表格单元从屏幕的顶部或底部消失时,UITableViewCell本身就可以重新使用。 (滚动时,单元格消失,出现新的单元格,但UITableView类重新使用UITableViewCell对象。)在cellForRowAtIndexPath:
当您获取要使用的caching单元格时,必须确保将所需的一切设置为显示有问题的行,否则你可能会在你的表中看到一些奇怪的行为。
这有帮助吗?
编辑:
以下是cellForRowAtIndexPath:
使用的典型模式示例cellForRowAtIndexPath:
注意使用dequeueReusableCellWithIdentifier:
该方法返回一个以前分配但没有使用的UITableViewCell,如果有的话。 进一步注意,如果没有caching的单元格被返回,那么代码将创build一个新的单元格,并设置它(与独立于任何可能是行特定的东西)。 之后,你可以根据需要设置单元格。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 静态NSString * SearchResultsCellIdentifier = @“SearchResultsCellIdentifer”; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:SearchResultsCellIdentifier]; 如果(cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:SearchResultsCellIdentifier] autorelease]; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; } //这里你的单元格的特定行设置 // ... 返回小区; }
检查文档有关这些方法的细节。 苹果和其他地方有很多关于如何实现tableViews的例子。