UIAlertView、UIActionSheet兼容iOS8

链接地址:http://blog.csdn.net/nextstudio/article/details/39959895?utm_source=tuicool

1、前言

iOS8新增了UIAlertController来代替UIAlertView、UIActionSheet的使用。本文在不使用UIAlertController的情况下,用最简单的方法让UIAlertView、UIActionSheet兼容iOS8.
 

2、UIAlertView

iOS8下,如果UIAlertView初始化的时候title为nil的话,iOS8下面弹框中message会变成粗体,并且过于靠近顶部,为了保存跟iOS8之前的版本一致,只需要在初始化的时候将title置为@""就可以了。代码如下:
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. //title置为@""兼容iOS8  
  2.     UIAlertView *delAlert = [[[UIAlertView alloc] initWithTitle:@"" message:@"删除联系人?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil nil] autorelease];  
  3.     [delAlert show];  

3、UIActionSheet

iOS8下,如果UIActionSheet初始化的时候title为@""的话,iOS8下面ActionSheet表单上方会多出一行空白栏,为了保存跟iOS8之前的版本一致,只需要在初始化的时候将title置为nil就可以了。代码如下:
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. UIActionSheet *actionSheet = [[[UIActionSheet alloc] initWithTitle:nil  
  2.                                                               delegate:self  
  3.                                                      cancelButtonTitle:NSLocalizedString(@"Cancel", nil)  
  4.                                                 destructiveButtonTitle:[NSString stringWithFormat:NSLocalizedString(@"call", nil),self.phoneNumber]  
  5.                                                      otherButtonTitles:NSLocalizedString(@"add to contact", nil),nil]  
  6.                                   autorelease];  
  7.     actionSheet.tag = 1;  
  8.     [actionSheet showInView:self.view];  
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
原文地址:https://www.cnblogs.com/wvqusrtg/p/4522207.html