如何更新动态生成的故事板中的自定义特定 UITableview 单元格?
Posted
技术标签:
【中文标题】如何更新动态生成的故事板中的自定义特定 UITableview 单元格?【英文标题】:How to update custom specific UITableview cell in storyboard, which are dynamically generated? 【发布时间】:2013-01-07 05:11:51 【问题描述】:我正在用 Objective-c 开发我的第一个应用程序。在第一个视图控制器中,我能够使用包含附件按钮的动态原型单元生成 UITableview。当我单击附件按钮时,它将导航到下一个视图控制器,该控制器还将具有动态 UITableviewcells 和(自定义按钮)选择作为附件按钮。但是,当我单击特定的选择按钮时,相应的单元格内容应该在单击辅助按钮的单元格(在第一个屏幕中)中更新。我能够从第二个屏幕到第一个屏幕获取详细信息。但是,我在第一个屏幕中的自定义单元格没有更新?
请帮助是否有任何预定义的功能,我在参考文档中没有找到。
提前谢谢你..
【问题讨论】:
【参考方案1】:从 ios 5 开发开始就有一个解决方案算法。
1.在prepareSegue中取indexPath
// prepare selection info
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
2.将其发送到第二个视图控制器
UIViewController *destination = segue.destinationViewController;
[destination setValue:self forKey:@"delegate"];
id object = [self.tasks objectAtIndex:indexPath.row];
NSDictionary *selection = [NSDictionary dictionaryWithObjectsAndKeys:indexPath,@"indexPath",object,@"object", nil];
[destination setValue:selection forKey:@"selection"];
3.稍后第二个视图控制器将将 indexPath 发送回第一个控制器
// prepare selection info back
NSIndexPath *indexPath = [_selection objectForKey:@"indexPath"];
id object = _textView.text;
NSDictionary *editedSelection = [NSDictionary dictionaryWithObjectsAndKeys:indexPath, @"indexPath", object, @"object", nil];
[_delegate setValue:editedSelection forKey:@"editedSelection"];
4.So 在第一个视图控制器的 getter 方法中,该方法用于从第二个视图控制器 取回 indexPath,您通过 indexPath 取回表格单元格并改变它的价值
#pragma mark - Call back by destination view
-(void)setEditedSelection:(NSDictionary *)dict
NSIndexPath *indexPath = [dict objectForKey:@"indexPath"];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
....
【讨论】:
您好,谢谢您的回复,能否请您给我一个原型,我该如何完成这个... 对不起。我在手机上回复了这个帖子。我应该给你一些例子:) 等等..我会编辑我的答案 嗨@code4j,上面的indexpath值在滚动uitableview时会发生变化。我该如何克服...以上是关于如何更新动态生成的故事板中的自定义特定 UITableview 单元格?的主要内容,如果未能解决你的问题,请参考以下文章