xcode - 如何根据模态视图中的选择更新 UITableViewCell 详细信息文本?

标签 xcode uitableview modalviewcontroller

我正在尝试根据单击单元格时显示的模态视图中的 UIPickerView 中的选择来更新 UITableViewCell 的详细信息文本。

当用户单击父 View 中的单元格时,会弹出模态视图,然后向他呈现一个 UIPickerView,当他选择完所需的值后,用户单击“保存” “按钮。用户单击“保存”按钮后,模态视图消失,他单击的单元格上的详细信息标签的文本将更新为他使用模态视图的 UIPickerView 选择的值。

不幸的是,我想不出一个好的、干净的方法来做到这一点...... 我是 iOS 编程新手,我想知道是否有任何“传统”方法可以做到这一点,我也很感激任何其他方法来实现这一点。

非常感谢!

最佳答案

如果您知道提示模态视图的 indexPath ,并且您应该知道,那么简单地获取对单元格的引用并直接更改 detailTextLabel 可能很诱人,如下所示:

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.detailTextLabel.text = newTextValue;

但这不是最好的,因为它不一定反射(reflect)模型的状态并且不提供动画。最好的办法是确保更新支持表格 View 的模型数据,然后执行如下操作:

NSArray *array = [NSArray arrayWithObject:indexPath];
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationRight];

有许多 UITableViewRowAnimation... 可供选择,但动画可以帮助用户看到他们实际上做出了更改。

关于xcode - 如何根据模态视图中的选择更新 UITableViewCell 详细信息文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9250494/

相关文章:

ios - 取消 UIControl animateWithDuration 开始新的动画

ios - 如何重用另一个 TableView Controller 中的单元格

objective-c - 多个模态视图可防止背景变暗/禁用 UIModalPresentationPageSheet

xcode - 在 tableView 中页脚内部的按钮单击上执行某些操作

ios - iPad 屏幕旋转错误。有没有办法在 View 加载之前锁定旋转?

ios - 当 TableView 单元格匹配条件 Swift 时尝试更新 Collection View

iphone - UIImagePickerController 将 View 向上推 20px

ios - iOS 6 中的模态视图 Controller 强制横向方向

objective-c - 如何将 OSX 应用程序置于最前面?

Swift:在 JSON 数据的 TableView 返回中同步数据的呈现