我在UIProgressView
添加了UIActionSheet
来表示下载进度。因此,当用户点击其中的下载按钮时,我不希望我的UIActionSheet
被解雇。
但是有办法吗?
现在我实施 didDismissWithButtonIndex 委托方法,以便在解除后再次显示UIActionSheet
。但我希望有更好的方法。
答案 0 :(得分:2)
UIActionSheet
是一个模态视图,这意味着它完全阻止了UI。由于阻止UI被认为是一种不好的做法,因此不支持阻止操作表被解雇。相反,您应该在操作表之外创建一个完全独立的进度指示器。
答案 1 :(得分:0)
但我对目前的解决方案也很满意。 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;
所以我猜任何按钮都会一直关闭动作表。然后我的解决方案是先隐藏进度条;当用户点击下载按钮时,再次显示操作表但隐藏下载按钮并显示进度条。
取消按钮始终存在,以防用户想要在下载开始后取消下载。