链接地址: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置为@""就可以了。代码如下:
  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就可以了。代码如下:
  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];

UIAlertView、UIActionSheet兼容iOS8的更多相关文章

  1. UIAlertView及UIActionSheet 在ios8极其以下版本的兼容问题解决方案

    本文转载至 http://www.aichengxu.com/view/35326 UIAlertView及UIActionSheet在ios8中被放弃,其功能将完全由UIAlertControlle ...

  2. ios-消息弹框之UIAlertView, UIActionSheet以及UIAlertController小结

    首先storyboard中创建对应按钮并拖线,来演示不同的效果 首先点击了actionSheet按钮效果如图 实现弹框需要遵守设置代理,遵守协议. 效果就是从底部向上弹起来的框框. 通过对按钮的点击输 ...

  3. webpack的css压缩不兼容IOS8问题探索

    webpack使用postcss的autoprefixer插件,并在压缩css时使用了cssnano,处理不当的情况下会导致压缩css后,部分兼容前缀(比如-webkit-)被删除的问题. postc ...

  4. 弹框控件 UIAlertView UIActionSheet

    // 创建弹框 从底部弹出,一般用于危险操作 UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"恭喜通关" ...

  5. Xcode8兼容iOS7手记-b

    对于Xcode8的发布,苹果也是来了个大的跳跃,默认最低支持的iOS版本为8.0,当然也并不是说8.0以下就直接放弃了,虽然表现出来的是这样,毕竟使用8.0以下系统的还是大有人在的,老项目要兼容iOS ...

  6. 升级IOS8游戏上传自定义头像功能失效的问题

    为了支持arm64,之前已经折腾了很久,昨晚打包准备提交苹果审核时,测试那边的同事反馈说游戏上传自定义头像功能不可用了. 游戏上传自定义功能的简介:卡牌游戏最初是<比武招亲>中有一个充VI ...

  7. ReactiveCocoa 和 MVVM 入门 (转)

    翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示.为了和谐社会, 请科学上网. MVC 任何一个正经开发过一阵子软件的人都熟悉 ...

  8. 【长篇高能】ReactiveCocoa 和 MVVM 入门

    翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示.为了和谐社会, 请科学上网. MVC 任何一个正经开发过一阵子软件的人都熟悉 ...

  9. 【转】伟大的RAC和MVVM入门(一)

    原文:http://www.sprynthesis.com/2014/12/06/reactivecocoa-mvvm-introduction/   翻译自ReactiveCocoa and MVV ...

随机推荐

  1. POJ2823 Sliding Window(单调队列)

    单调队列,我用deque维护.这道题不难写,我第二次写单调队列,1次AC. -------------------------------------------------------------- ...

  2. Hibernate学习之hibernate状态

    hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就 ...

  3. 设计模式(十一)代理模式Proxy(结构型)

    1.概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供 ...

  4. Linux 下 Hadoop java api 问题

    1. org.apache.hadoop.security.AccessControlException: Permission denied: user=opsuser, access=WRITE, ...

  5. php知识(第2天)

    运算符 PHP中运算符一共分为9类: 赋值运算符, 算术运算符,比较运算符, 逻辑运算符, 错误抑制符, 三目运算符, 位运算符, 自操作运算符, 连接操作符 算术运算符 算术运算: 基本运算符: + ...

  6. PGA与SGA

    当用户进程连接到数据库并创建一个对应的会话时,Oracle服务进程会为这个用户专门设置一个PGA区,用来存储这个用户会话的相关内容.当这个用户会话终止时,数据库系统会自动释放这个PAG区所占用的内存. ...

  7. A Byte of Python 笔记(4)控制流:if、for、while、break、continue

    第6章  控制流 3种控制流语句-- if  for  while 默认pyhon使用ASCII码来解释程序的,默认不支持中文,需要在程序的第一行或者第二行声明编码.官方参考具体参考以下三种方式:1. ...

  8. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  9. 激活Windows 10 正式版

    原文 http://jingyan.baidu.com/article/27fa732684b5f646f8271ff4.html Windows 10只提供为期一年的免费升级.因此,不要无限拖延期自 ...

  10. android天气查询(二)之网络json数据的获取

    前面一篇文章介绍了如何使用ksoap获取天气信息,但是使用的网络资源受到了限制,所以我们这里会采用第二种方法,可以无限制的获取.http://m.weather.com.cn/data/1010101 ...