【问题标题】:Dismissing UIActionSheet on iPad without animation在没有动画的情况下在 iPad 上关闭 UIActionSheet
【发布时间】:2013-05-26 00:22:37
【问题描述】:

我的 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。

有人对此问题有建议或经验吗?

一切顺利,

托比

【问题讨论】:

    标签: ipad animation uiactionsheet uipopover


    【解决方案1】:

    来自 UIActionSheet 类参考:

    对于在 iPad 设备上运行的应用程序,操作表通常显示在以适当方式锚定到起始视图的弹出窗口中。 在弹出框外点击会自动关闭操作表,在任何自定义按钮内点击也是如此。您也可以通过编程方式关闭它。

    所以我认为当用户在外部点击以选择应用程序中的另一个单元格时,您无法更改此 UIActionSheet 的行为。您可能只想创建自定义弹出视图来解决您的两个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2014-01-18
      • 1970-01-01
      • 2014-03-08
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多