问题标签 [uialertviewdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
788 浏览

ios - 另一个视图控制器上的 UIAlertView 崩溃问题

我有 2 个视图控制器,ViewController1(VC1) 和 2(VC2)。在 VC2 中,我有一个后退和完成按钮。单击后退按钮时,它直接转到 VC1,完成后它会进行 api 调用,当它得到响应时,它会显示一个警报视图,然后单击确定会返回 VC1。现在,当我进行 api 调用时,加载栏会出现并在我得到响应时消失并显示AlertView. 但是,如果在加载消失的那几分之一秒内AlertView,如果我单击后退并且视图更改为 VC1 将弹出,则警报会出现在 VC1 上并导致崩溃。

这是一种罕见的情况,因为没有用户会故意尝试它,但我想知道是否可以在不禁用后退按钮的情况下管理该崩溃。我认为可能还有其他情况,例如我们正在进行异步调用,如果允许用户在等待响应时使用 UI,以及如果假设显示在另一个上的任何错误警报ViewController出现在另一个可能会导致崩溃因为警报所指的委托是前一个视图控制器的委托。那么有没有办法有效地处理这种崩溃呢?

0 投票
2 回答
201 浏览

ios - 将所有 UIAlertView 对象作为全局对象访问以对其进行通用控制(在解除分配视图控制器后解决警报中的 CRASH)

我的要求是让我的应用程序的第三个选项卡作为主屏幕,并且每当用户在后台移动应用程序并再次将应用程序移动到前台时,它应该是主屏幕作为我们的第三个选项卡,而不是应用程序位于任何应用程序中的地方。已处理此问题(将第三个选项卡设为主屏幕,而不是应用程序位于应用程序中的任何位置/场景中)。,但我现在有一个由此分辨率生成的问题。

问题:-如果任何警报显示在任何视图中并且我们正在使应用程序成为背景 - 前景,则应用程序会从该屏幕进入第三个选项卡,并且警报仍然存在,如果我们单击警报按钮,那么按照IOS的规则警报屏幕的“自我”对象被释放(因为现在我们在主屏幕中并且警报在这里)并且应用程序崩溃!

尝试了一些解决方案:-

1.在屏幕中,我创建了一个 UIAlertView 的全局对象,并在屏幕的 applicationDidBecomeActive 方法中使用下面的代码行...

[_alertToRemoveContactdismissWithClickedButtonIndex:1 动画:NO];

这是此视图的工作代码,但我的解决问题是我需要在应用程序的所有位置创建警报视图的全局对象,这是一项非常耗时的任务,因为我在项目中使用了大约 250 个警报。

2.每当应用程序移动到后台时,我都会杀死该应用程序在此解决方案中,问题是我的应用程序无法在后台运行其下载功能,因为该应用程序已被杀死。

如果有人需要更多解释,需要帮助解决这个问题,请发表评论。

我的崩溃日志.... * -[ContactShowViewController respondsToSelector:]:消息发送到已释放实例 0x1138c4e0*

*ContactShowViewController 将与屏幕不同的地方提前谢谢!

0 投票
1 回答
449 浏览

ios - UIAlertView 按钮不起作用

我希望 UIAlertView 的取消按钮启动应用商店,以便可以更新我的应用。我可以让应用程序启动应用程序商店,但我希望它仅在按下 UIAlertView 的取消按钮时启动。我现在的方式是,当我按下取消按钮时出现此错误:

这是我初始化和显示 UIAlertView 的代码:

这是应该处理被按下的取消按钮的函数:

我在包含对象的头文件中写了它遵循 UIAlertViewDelegate 协议。

我在这里做错了什么?

0 投票
3 回答
1082 浏览

ios - 如何获取 UIAlertView otherButtons 的标题?

如果用户触摸了其他按钮之一,是的,我们知道用户触摸了哪个按钮。那么,如何获取用户刚刚触摸的按钮的标题?谢谢。

0 投票
1 回答
208 浏览

ios - 在委托中显示 UIAlertView 失败

我在它自己的委托中调用 UIAlertView 并且它失败了。代码很简单:

但是,当我删除:

并将其替换为:

有用。

这似乎表明,UIAlertVIew即使我在委托方法中,原件也没有完全解除alertView:didDismissWithButtonIndex:

虽然这是有效的,但它似乎并不正确。谁能告诉我我做错了什么?

0 投票
1 回答
139 浏览

ios7 - 即使在从 UIDatePicker 选择日期之后,UIAlertView 按钮也被禁用

问题是从 UIDatePicker 选择日期后,UIAlertView 的“确定”按钮被禁用。我试过了,但没有运气。

每当我们在文本字段中输入任何内容时都应该调用它,但是当输入日期时它不会被调用,但是如果我从键盘输入任何内容,那么就可以了。

在此处输入图像描述

0 投票
2 回答
1026 浏览

ios - 将文本从 UIAlertView 文本字段传递到自定义单元格标签

我有一个从 SQLite 数据库中提取信息并填充 TableView 中的单元格的应用程序。但是,我希望用户能够单击一个单元格,然后能够通过 AlertView 编辑该单元格中的内容。以下是我的代码的一部分:

任何帮助将不胜感激。谢谢。

0 投票
0 回答
74 浏览

ios - 隐藏 UIAlertView 也会隐藏 Botton UITabBar

我陷入了一个奇怪的问题。

我的应用程序不是UITabBarController应用程序,而我添加了一个UITabBarself.window.

在 appDelegate 上didFinishLaunchingWithOptions,我UITabBar这样添加:

直接添加 as subViewof windowUITabBar不随设备旋转,所以我按照上面的代码添加了。

当应用程序启动时,它会显示一个UIAlertView类似这个屏幕截图的条件,UITabBar在这里看起来也不错:

在此处输入图像描述

但是当我单击YESor时NOUITabBar也会隐藏为UIAlertView 在此处输入图像描述

为什么会发生?我尝试添加点击但同样UITabBar的问题。如果直接添加为 任何帮助,UIAlertView问题不会出现?UITabBarwindow[self.window addsubview:self.tabbar];

(它不是一个UITabBarController应用程序有几个原因。我发现UITabBar根据我的应用程序的要求添加更多有用的东西。)

0 投票
3 回答
3786 浏览

ios - alertView:(UIAlertView *) alertView 方法在 Appdelegate 中不起作用

我在 AppDelegate.m 文件中设置了 UIAlertView。

但是当我选择警报视图上的按钮时。

没有工作。

我在 AppDelegate.h 文件中设置了 UIAlertViewDelegate。

和我的 AppDelegate.m

但是

没有进入这个方法。

有谁知道发生了什么?谢谢。

0 投票
1 回答
311 浏览

objective-c - 在 self.delegate 实现 UIAlertViewDelegate 协议的 alertView 中设置 delegate:self.delegate

在我的 ViewController 中,我实现了 UIAlertViewDelegate,在我的模型中,我有一个方法可以创建一个 UIAlertView,其委托设置为 self.delegate,它是 ViewController 的一个实例。然后我尝试像这样(在模型中)调用 willPresentAlertView:

willPresentAlertView 在 ViewController 中实现如下:

然后我在调用[alert show].

如果我将委托设置为nil或自我,它可以正常工作,但是当我按下警报上的按钮时我想打电话alertView:alertView clickedButtonAtIndex:buttonIndex,这不适用于委托设置为 nil 或自我。只有ViewController实现了这些方法,为什么应该是self.delegate,还是?

我希望模型调用警报,但我希望 ViewController 处理警报方法,例如alertView:alertView clickedButtonAtIndex:buttonIndex.

如何才能做到这一点?