【发布时间】:2018-09-08 17:58:21
【问题描述】:
我遇到了警报显示在屏幕左上角(并被切断)的情况,如中所述 UIAlertController is moved to buggy position at top of screen when it calls `presentViewController:`
我的代码是从 Apple 的文档中复制和粘贴的:
- (void) alertHere
{
UIAlertController* alert = [UIAlertController
alertControllerWithTitle:@"My Alert"
message:@"This is an alert."
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES
completion:nil];
}
我从 UIViewController 调用它。
我根本不理解上面提到的 stackoverflow 讨论,也不理解答案。我需要一个来自草原的可怜的简单程序员可以理解的东西。 Apple 不认为这是一个错误(显然),但我不明白为什么,我当然不明白如何修复它。
感谢您提供了一个不错的简单解决方案,或者至少是对我做错了什么的简单描述。
【问题讨论】:
-
您链接的问题是关于从警报控制器呈现另一个视图控制器。你也在做同样的事情吗?
-
坦率地说,我不确定。我从我的主视图控制器调用它。这是我知识的极限!从文档中我不清楚 UIAlertController 是一个视图控制器(尽管我想这是有道理的)。但如果是,我应该从哪里调用它?谢谢。
-
是的,UIAlertController 是一个视图控制器。警报应该从另一个视图控制器呈现,就像任何其他视图控制器一样。您链接的另一个问题中的问题是有人提出警报控制器,然后从警报控制器中提出另一个视图控制器。您似乎没有这样做,因此您链接的其他问题与您的问题无关。
-
谢谢 rmaddy,但我做错了什么?因为据我所知,我正在从另一个视图控制器呈现 uialertcontroller。
-
您发布的代码没有明显问题。
标签: ios objective-c cocoa-touch uialertcontroller