Ell*_*son 9 cocoa-touch ios uialertcontroller
当iOS呈现警报时,半透明度是不变的.当我的应用程序出现一个时,警报首先是白色,只有半秒钟,然后它变得半透明.这是一个小问题,但它看起来很混乱,警报应该在我认为的任何地方保持一致.无论如何这里是代码:
UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"Invalid Credentials" message:@"Please try again." preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
[_username becomeFirstResponder];
}];
[alertVC addAction:ok];
[self presentViewController:alertVC animated:YES completion:NULL];
Run Code Online (Sandbox Code Playgroud)
我也对这里的人们的意见感兴趣.对于任何人来说,这只是一个小问题吗?看起来这只是UIAlertController工作方式(至少在开发人员使用它时).无论如何,它看起来很乱,我认为它是一个错误(除非我做错了),因为它看起来与iOS提出警报时看起来不一样,即使它应该.
免责声明:这部分是观点,部分是有根据的猜测,部分是经验。
它UIAlertController有两个主要部分:深色背景和消息视图。深色背景似乎是用于弹出窗口的非常标准的深灰色/黑色透明视图。消息视图看起来使用与UIToolbar和相同类型的模糊UINavigationController。
用于过渡的动画UIAlertController是深色背景上的淡入以及消息视图上的淡入和收缩的组合。对于模糊的视图来说,褪色并不是那么困难;alphaiOS 通常只使用透明视图,并捕捉到上方的模糊视图0.999。不过,收缩动画……这就是神奇之处。
这不仅仅是框架大小的调整,消息视图的内容实际上也改变了大小。

有趣的是,苹果公司的某人决定对文本大小的变化进行动画处理,使其看起来像是落在屏幕上一样,而不是仅仅调整消息视图框架的大小并使文本以静态大小淡入。
这种标签、按钮和框架大小的变化与模糊的淡入相结合,为相当简单的视图增加了相当多的复杂性。因此,看起来有人决定使用视图快照,对比例变化进行动画处理,然后在初始动画完成后“过渡”到所需的外观,而不是处理每个单独的问题。
至于为什么直接在操作系统中发送消息不是这种情况……狗粮。
| 归档时间: |
|
| 查看次数: |
967 次 |
| 最近记录: |