我有一个触发IAP过程的UIButton。在显示警报视图之前有一段时间(如果互联网连接不好,则为2/3或更多)(要么输入ID和密码,要么是确认信息)。所以人们可能会多次点击,认为按钮不起作用。然后,当您点击它时,您会连续获得尽可能多的警报视图,即使我退出应用程序并且我同时在另一个应用程序上,它们也会显示出来。那太烦人了。
到目前为止,我的解决方案是将布尔值设置为UIviewcontroller的属性。如果为false,则单击不执行任何操作,否则单击触发器付款流程。我在第一次点击时将其设置为false,在viewwillappear中,我将其恢复为true。问题是,为了能够再次单击该按钮,您必须离开视图并返回到该视图。这不酷......
所以这就是我正在寻找的理想选择:只要显示或解除任何类型的任何警报视图,就会触发一个功能。显示更好,因为我可以使用它来停止我想要添加的最终活动指示器。
谢谢你的想法。
答案 0 :(得分:0)
不要将其基于显示的警报视图(无论如何都不能)。相反,当按下按钮时,禁用它或隐藏它(并显示您的活动指示器)。开始购买时,将控制器添加为代理。当您收到告诉您购买完成/失败的回调时,使用委托方法更新UI以启用/显示按钮(如果更合适,则将其全部删除)。