我的 iPad 应用程序底部有一个水平滚动的 UITableView,当用户点击其中一个单元格时,我会从中弹出一个 UIActionSheet,允许他们在两个选项之间进行选择。
这部分工作正常,但我在关闭操作表时遇到了两个 UI 问题。
1)当用户在 UIActionSheet 之外单击而不是其他 UITableViewCell 时,我想立即取消选择该单元格,然后关闭 UIActionSheet,或者同时将它们淡出。但是,当我实施
- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex
为此,它仍然会导致操作表在取消选择单元格之前慢慢淡出,这看起来有点奇怪。无论我是通过获取该单元格并手动更改外观还是重新加载表格来调用 [self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow animated:NO],都会发生这种情况。即使我在创建 UIActionSheet 时(例如 self.actionSheet)保持对它的引用,并在调用 willDismissWithButtonIndex 时将其设置为 hidden 或 nil,它仍然以这种方式运行。
2)如果用户在 UIActionSheet 外部单击但选择了另一个 TableViewCell,我想立即将 UIActionSheet 转移到另一个单元格。然而,现在它只是慢慢淡出,然后用户必须再次点击新单元格才能为该单元格调出 UIActionSheet。
有人对此问题有建议或经验吗?
一切顺利,
托比