UIAlertView iOS 8 beta 5中的nil标题的UI问题

前端之家收集整理的这篇文章主要介绍了UIAlertView iOS 8 beta 5中的nil标题的UI问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在iOS 8上运行我们的应用程序时,我有与UIAlertView有关的问题.
我正在显示标题为nil的警报.它在iOS 7中正常工作,但现在UI看起来很奇怪.

我已经在这里附加了截图.

我发现一个解决方案是当我提供空字符串@“”它看起来不错.见下面的截图.但我不知道我提到的问题是测试iOS 8版本中的错误,还是有其他更好的解决方案.即使是解决方案,它并不完全符合iOS 7的要求.

iOS 7 – 显示标题为nil的警报视图.这里的屏幕截图

解决方法

对于UIAlertView,UIActionSheet从iOS 6开始,我使用initWithTitle:@“”是最好的做法,因为我正在使用initWithTitle:nil时遇到设计问题.我试图找回来,我找不到它究竟是什么原因.

从iOS 8上的屏幕截图,我认为UIAlertView for iOS 8上的视图层次结构有所改变.我认为Auto布局可能会在视图hierarachy上实现,您可以看到messageLabel跳转到titleLabel.

我不能确定,因为UIAlertView的视图层次结构是私有的.

The UIAlertView class is intended to be used as-is and does not
support subclassing. The view hierarchy for this class is private and
must not be modified.

见:https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html

但是,我使用的代码

NSLog(@"%@",[self.alertView description]);

iOS 7.1结果:

<UIAlertView: 0x7fb3c05535b0; frame = (18 263; 284 62); opaque = NO; layer = <CALayer: 0x7fb3c0519810>>

iOS 8.0上的结果:

<UIAlertView: 0x7bf64840; frame = (0 0; 0 0); layer = <CALayer: 0x7bf648f0>>

我不知道为什么iOS 8的UIAlertView框架是(0 0; 0 0);

像Mike说的,我想你应该学会使用UIAlertController for iOS 8.

猜你在找的iOS相关文章