UIAlertController按钮位置不一致

时间:2015-05-04 08:10:00

标签: ios objective-c uialertcontroller uialertaction

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:@"hello" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *ok     = [UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:hander]
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleCancel handler:hander]

[alertController addAction:ok];
[alertController addAction:cancel]; 

警报显示:
iOS 8.1 iPod touch: [确定] [取消]
iOS 8.3 iPhone 6 Plus: [取消] [确定]

为什么按钮的位置与iPod和iPhone不同?

2 个答案:

答案 0 :(得分:2)

据我所知,这是Apple在新版iOS 8.3中积极推出的一项变更

iOS 8

enter image description here

iOS 7

enter image description here

答案 1 :(得分:2)

几周前我提交了一个关于此问题的雷达,Apple回复说:“这是警报中取消按钮的新设计。开发人员在8.3中的一致体验是所有警报左侧都有取消按钮(当水平放置时)和底部(垂直放置时).Apple自己的应用程序可能会选择以不同方式显示其按钮(例如,鼓励用户选择特定选项时)。“

这有点令人沮丧,因为系统会在删除应用时发出警报,符合旧行为,但我们自己的应用符合新设计,会产生不一致的设计。