首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAlertViewDelegate clickedButtonAtIndex:有用吗?

UIAlertViewDelegate clickedButtonAtIndex:有用吗?
EN

Stack Overflow用户
提问于 2010-03-23 00:48:00
回答 4查看 4.5K关注 0票数 12

UIAlertViewDelegate协议定义了两个方法,alertView:clickedButtonAtIndex:alertView:didDismissWithButtonIndex:,在我看来这两个方法的用处是一样的。

clickedButtonAtIndexdidDismissButtonWithIndex做同样的事情时,为什么会有它们呢?我知道在关闭警报视图之前也会发生willDismissButtonWithIndex,但是有没有理由使用clickedButtonAtIndex而不是didDismissButtonWithIndex

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-17 03:50:35

我发现这两者之间有一个更有用的区别:

当显示UIAlertView时,设备进入休眠状态,即使警报视图实际上并未关闭,也会调用alertView:didDismissWithButtonAtIndex:。一旦设备唤醒,它将再次显示。只有当用户单击其中一个按钮时,才会调用alertView:clickedButtonAtIndex:

票数 19
EN

Stack Overflow用户

发布于 2010-03-23 01:08:47

在用户单击警报视图上的按钮时调用alertView:clickedButtonAtIndex:,而在从屏幕上取消警报视图之后调用alertView:didDismissWithButtonIndex:。(请参阅UIAlertViewDelegate Protocol Reference。)

差别很小,但它允许您在动画之前或之后执行某些操作。

票数 12
EN

Stack Overflow用户

发布于 2010-11-22 00:08:47

如果警报视图由于任何原因(包括被其他UIAlertView覆盖、进入睡眠状态等)而消失,则会调用didDismissWithButtonAtIndex:。这可能意味着即使用户不单击任何东西,也可以调用该方法。如果你依赖于这个委托回调来响应用户实际点击的按钮,这可能会导致意外的行为。在这种情况下,clickedButtonAtIndex:更有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2494091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档