有没有什么方法可以在加载后更改单元格的值?实际上,我在表格中有一个文本字段,在插入相同的值后,我需要对文本字段值进行一些数字操作,值计算器需要在下一个单元格中的标签上显示。如何在目标c中重新加载后更改单元格的值?
那么我怎么能得到相同的结果?任何想法?
在此先感谢。
有没有什么方法可以在加载后更改单元格的值?实际上,我在表格中有一个文本字段,在插入相同的值后,我需要对文本字段值进行一些数字操作,值计算器需要在下一个单元格中的标签上显示。如何在目标c中重新加载后更改单元格的值?
那么我怎么能得到相同的结果?任何想法?
在此先感谢。
有几种方法可以更新UITableView
中的单元格。
1)调用表格视图方法reloadRowsAtIndexPaths:withRowAnimation:
。这将触发对委托方法tableView:cellForRowAtIndexPath:
的调用。如果您有更新的数据源,这将是更新单元格的好方法。
NSIndexPath *indexPathOfUpdatedCell = ...
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPathOfUpdatedCell] withRowAnimation:UITableViewRowAnimationFade];
2)也可以直接更新单元格。您可以使用cellForRowAtIndexPath:
。
NSIndexPath *indexPathOfUpdatedCell = ...
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPathOfUpdatedCell];
cell.textLabel.text = @"new value";
要创建特定行和部分的索引路径,可以使用indexPathForRow:inSection
。
NSUInteger row = ...
NSUInteger section = ...
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section];
对于你正在尝试做的,最好的办法是让你的视图控制器<UITextFieldDelegate>
,你的文本字段委托设置为自己,然后实现textFieldDidEndEditing:委托方法。
更改您的接口文件采用协议
@interface YourViewController : UIViewController <UITextFieldDelegate>
然后设置视图控制器为您相关的UITextField(S)的代表......
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
yourCustomCell.yourTextField.delegate = self
}
最后落实
- (void) textFieldDidEndEditing:(UITextField *)textField.
每次用户完成编辑UITextField时,都会调用此方法, nd,因为它传递给它的引用,你可以访问它的值,做你可能需要的任何验证,并将它分配回文本域。
标签创建运行时? – KingofBliss 2010-12-07 13:09:01
我无法理解你的问题在哪里。您是否需要更新UITextField的文本,并且该文本字段位于您没有参考的单元格内? – AYBABTU 2010-12-07 13:36:43
是在运行时创建的。在cellForRowAtIndexPath方法中,我在文本字段中传递值,该值应该反映在下一个单元格中的标签中。文本字段值应该保持原样,并且标签值应该从0更改为某些值。 – Sarah 2010-12-08 07:08:38