Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理UIAlertView iOS的显示_Ios_Cocoa Touch - Fatal编程技术网

如何处理UIAlertView iOS的显示

如何处理UIAlertView iOS的显示,ios,cocoa-touch,Ios,Cocoa Touch,当出现警报时,ui查看是否接收任何事件?是否存在类似于lostFocus的现有事件 我知道可以覆盖UIAlertView的show方法,但我想知道是否有一种方法可以直接从层次结构的顶部视图处理它?我不得不这样做,这是一个巨大的痛苦 将其放在视图控制器中。(UIAlertView自iOS 8发布以来已被弃用) 您可以添加任意数量的操作。只需看一些注释: 如果是警报框,则警报控制器的样式为UIAlertControllerStyleAlert,如果需要屏幕底部的操作表,则为UIAlertContr

当出现警报时,
ui查看
是否接收任何事件?是否存在类似于
lostFocus
的现有事件


我知道可以覆盖
UIAlertView
show
方法,但我想知道是否有一种方法可以直接从层次结构的顶部视图处理它?

我不得不这样做,这是一个巨大的痛苦

将其放在视图控制器中。(
UIAlertView
自iOS 8发布以来已被弃用)

您可以添加任意数量的
操作
。只需看一些注释:

  • 如果是
    警报框
    ,则
    警报控制器
    样式
    UIAlertControllerStyleAlert
    ,如果需要屏幕底部的
    操作表
    ,则为
    UIAlertControllerStyleActionSheet
  • someAction
    处理程序
    参数的
    需要将参数
    action
    作为
    UIAlertAction*
  • 完成
    采用参数,当警报出现时调用
  • 当用户点击警报框或操作表中的选项时,将调用
    hanler
有关
UIAlertController
类或
UIAlertAction
类的更多信息,请参阅苹果文档


有关Objective-C blocks的更多信息,请访问,或访问其更友好的对应对象。

您到底想做什么?另外,为了以防万一,UIAlertView已被弃用。改用UIActionController。你能解释一下问题是什么吗?通常情况下,警报看起来是无害的,执行它的操作,然后返回,使下面的所有内容都不受影响,因为它是一个覆盖层。如果有问题,您应该在调用
show
之前处理它们。实际上,iOS中没有问题。我只是在JS上编写了跨平台UI库。我试图将cocoa方法(我非常喜欢)应用到我的框架中。所以我想知道如何在cocoa-touch中解决it问题。好的,很好。但是,如果警报是从第三方库生成的,并且没有机会更改它,该怎么办?类似于
lostFocus
的东西非常适合这种情况。但我没有发现类似的情况:(
UIAlertController *someController = [UIAlertController alertControllerWithTitle:@"someTitle" message:@"someMessage" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *someAction = [UIAlertAction actionWithTitle:@"someTitle" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
    // your code here for THE ACTION
}];
[someController addAction:someAction];
[self presentViewController:someController animated:YES completion:^{
    // your code here for AFTER THE ALERT PRESENTS
}];