0

当用户单击按钮时,我有带有按钮的警报视图程序进入长时间循环我想在我调用这个之前隐藏警报视图,而我已经搜索了类委托并且我得到了

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

如何在此调用返回之前隐藏警报视图

4

3 回答 3

2

你可以使用

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex

而不是clickedButtonAtIndex. 在关闭警报视图didDismissWithButtonIndex调用。

您不能“立即隐藏”警报视图,因为只有在程序控制返回到主运行循环时才能对用户界面进行任何更改。

(更好的解决方案可能是将长时间运行的任务移动到后台线程,这样主线程就不会被阻塞并且用户界面保持响应。)

于 2012-10-18T12:22:42.880 回答
1

只需添加:

    [alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];

进入

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
于 2012-10-18T12:13:49.597 回答
0

这是我经过多次尝试后建立的解决方案

[self performSelector:@selector(`call Method`) withObject:nil afterDelay:1]
于 2012-10-20T11:35:27.673 回答