当用户点击其中的按钮时,有什么方法可以防止UIActionSheet被解雇?

时间:2011-12-26 04:41:25

标签: iphone cocoa-touch uikit uiactionsheet uiprogressview

我在UIProgressView添加了UIActionSheet来表示下载进度。因此,当用户点击其中的下载按钮时,我不希望我的UIActionSheet被解雇。

但是有办法吗?

现在我实施 didDismissWithButtonIndex 委托方法,以便在解除后再次显示UIActionSheet。但我希望有更好的方法。

2 个答案:

答案 0 :(得分:2)

UIActionSheet是一个模态视图,这意味着它完全阻止了UI。由于阻止UI被认为是一种不好的做法,因此不支持阻止操作表被解雇。相反,您应该在操作表之外创建一个完全独立的进度指示器。

答案 1 :(得分:0)

@Yar,谢谢你的回答,我会在其他时间尝试你的解决方案。

但我对目前的解决方案也很满意。 UIActionSheet.h

// Called when a button is clicked. **The view will be automatically dismissed after this call returns**
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;

所以我猜任何按钮都会一直关闭动作表。然后我的解决方案是先隐藏进度条;当用户点击下载按钮时,再次显示操作表但隐藏下载按钮并显示进度条。

取消按钮始终存在,以防用户想要在下载开始后取消下载。