在完成工作后更改UIActionSheet

时间:2010-03-22 07:58:36

标签: iphone uiactionsheet

我必须将一些XML数据导入我的应用程序。

现在我打开一个UIActionSheet并添加一个UIActivityIndi​​catorView子视图。最初我会显示一个进度轮和一个带有“取消”的按钮。

导入XML后,我想隐藏进度轮(这很容易)并将按钮更改为“完成”按钮,所有这些都在同一个UIActionSheet中。

我现在正在做的是使用dismissWithClickedButtonIndex选项关闭UIActionSheet,但我不喜欢这种方式,因为它与按“取消”相同,然后我显示一个显示“所有数据已导入”的UIAlertView

这可能吗?

2 个答案:

答案 0 :(得分:1)

你不应该这样做,当它正确加载时只需关闭ActionSheet。另一方面,如果发生错误,则显示警告。

想想每天会多次使用该应用的用户,每次使用完成消息都会浪费时间。

<强>更新
据我所知,你的目标是使用ActionSheet作为弹出窗口(具有取消能力),如果是这样,只需在XML加载完成后调用dismissWithClickedButtonIndex:animated:。 如果成功那么只需调用dismiss方法,如果不成功则调用dismiss并弹出警报

答案 1 :(得分:0)

这有点像黑客但应该有用。请注意,这很可能会导致您的应用无法被应用商店接受,因为您正在以Apple不想要的方式处理操作表。

最初显示包含“完成”和“取消”按钮的操作表。在显示工作表之前,使用其隐藏属性隐藏“完成”按钮。要了解如何访问“完成”按钮,请参阅this question

然后,当您隐藏UIActivityIndi​​catorView时,还要更改“取消”和“完成”按钮的隐藏属性,以便“完成”按钮变为可见。如果“完成”按钮出现在错误的位置,请通过修改其中心属性来移动它。