IOS8系统下,APP开发的不同,及碰到的问题收集

如题:IOS8正式版发布后,原来的项目很多,都出现了各种各样的问题。

正如苹果官方所说,IOS8,对于开发者来说会有很大的变化

这里做个收集,目前只碰到几个。记录一下:

1.UITableviewCell

内存不断增加。找了很久原因。后来一步一步的寻下去,发现是以下问题

- (void)layoutSubviews

之前,因为IOS7设置了accessoryView后,contentView回被向前移动。为了让contentView位置不变,所以在该方法中,使用了

[super layoutSubviews];
    // IOS8 开始,会引起循环。所以只在IOS8以前执行
if (need) {
            CGRect frmContentview = self.contentView.frame;
            frmContentview.size.width = CGRectGetWidth(self.bounds);
            self.contentView.frame = frmContentview;
        }

所以很多使用这个的地方都会引起无限循环。因为改变了contentView的frame就会不断引起layoutSubviews方法。

解决方法:使用了self.contentView.superView。并且在

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];
    [self.contentView.superView setBackgroundColor:self.contentView.backgroundColor];
    // Configure the view for the selected state
}
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
    [super setHighlighted:highlighted animated:animated];
    [self.contentView.superView setBackgroundColor:self.contentView.backgroundColor];
}

这样颜色就比较统一了。其他的正常使用就可以了。

2.NSUserDefaults

这个东西真的很蛋疼。clean下项目,删除模拟器APP。重新运行后,

发现取到的BOOL值或都其他,基本都跟未删除时一样。经过google,最终找到IOS8的模拟器,如果删除了app,貌似NSUserDefaults是不会重置的。

所以,只有重新reset下模拟器。重试后发现,还真的是这么回事。真机还没有测试。

3.键盘。

不管是textField还是textView都可以看到光标在跳动。但是键盘就是不出来。

纠结了了1个多小时,找各种原因,google了很久。最后,在第2点重置后发现,恢复正常。瞬间无语

4.UIAlertView

UIAlertView如果设置title为nil。会发现字体变黑,设为@""就可以了

5.重名问题

新建了一个类继承自NSObject。并且声明了一个delegate的protocol。

结果,在使用的时候发现指向了NSFileManagerDelegate。

这个是因为在IOS8的SDK中,NSObject类存在一个delegate的声明。重名就改名,解决

6.UIScrollview

很多人在IOS6升级IOS7的时候应该碰到过UIScrollview不能滑动的问题。网上的方法都是这样的

在viewWillAppear 或者 viewDidAppear 中加入,

[self.tableview setContentOffset:CGPointMake(0, CGFLOAT_MAX) animated:YES];

但是在IOS8里面,发现这种话,也会引起界面卡死

所以大家可以使用以下方法解决

if (self.tableview.contentSize.height > self.tableview.bounds.size.height) {
            [self.tableview setContentOffset:CGPointMake(0, self.tableview.contentSize.height) animated:YES];
        }

============================================其他碰到慢慢补充================================================

这里有一个说IOS8变化的贴子,大家可以看一下:

http://www.cocoachina.com/bbs/read.php?tid-217107.html

时间: 2024-08-24 00:32:35

IOS8系统下,APP开发的不同,及碰到的问题收集的相关文章

抱米交易钱包系统模式APP开发,抱米钱包系统源码

抱米交易钱包系统模式APP开发,抱米钱包系统源码,抱米钱包系统模式抱米钱包系统开发咨询:+伍(aac1287)抱米钱包是区块链的一种,具体是什么样子的,接下来给大家介绍一下: 壹.抱米钱包系统的,模式1.分享奖励加速0.05-0.08(举例你推荐一个1万,有500-800的奖金)2.兑换奖励加速15层,0.01-0.03(推荐5个普通用户以上,15层以内,任何人余额兑换积分;如兑换1万,有100-300)3.流通奖励加速15层,0.004-0.007(推荐5个普通用户以上,15层以内,任何人流通

Windows系统下Android开发环境搭建

“工具善其事,必先利其器”.要想学好Android,搭建好Android开发环境是一个良好的开端. Windows系统下Android开发环境主要有4个大的步骤.分别是: 1.JDK的安装 2.eclipse的安装 3.Android SDK 的安装 4.Android ADT插件的安装 ---------------------------------------------------------------------------------------------------------

windows系统下跨平台开发环境的搭建(cordova)+创建一个android项目

目的:在windows系统下,搭建跨平台的开发环境(cordova)创建一个安卓项目 前提:安装有java Jdk 1.8以上 Android SDK 23以上 1.安装node.js ,选择对应的版本下载安装,没什么好说的 官方网址:http://nodejs.cn/ 2.测试安装是否成功 win+r 键,打开运行窗口,输入cmd,然后确定,打开命令行窗口 输入node  -v 输出版本号,说明node.js安装成功,否则请查找原因,或者重新安装 输入npm -v 输出版本号说明npm可以使用

Linux系统下C++开发工具-远程终端软件使用

通过前面安装Linux系统介绍,紧接着进入搭建Linux开发环境的第二步,选择C++开发工具,以及必要的客户端软件.从而完整的搭建一个Linux下C++开发的环境,便于初学者在该环境下能够很好的学习. 一.代码编辑器 由于采用Windows下开发Linux的C++程序,那么选择一个在Windows中方便代码编辑的工具也是非常的重要.C++代码编辑器种类很多,就连记事本也可以用作C++代码编辑.这里推荐使用UE(UltraEdit)这款功能强大的代码编辑工具. UltraEdit工具是共享软件,可

一口安商城系统定制APP开发

一口安分销商城软件源码开发[龙梓:185.7630.7194微|电]一口安平台源码系统开发,一口安商城分销软件APP开发,一口安平台源码APP定制开发,一口安商城定制APP开发;可开发类似软件, [非平台方,玩家勿扰.] 互联网基于其便捷性.广泛性.即时性.交互性特点,使得其具备了强大的力量,其融入力可谓无处不在,已渗入社会的方方面面,无论是有意识的,还是无意识的.越来越多的.部门.社会组织,还有企业,甚至个人已充分认识到:网络已经成为自己迈向成功或保持持续发展的必要条件.不管是营销一个组织,还

信用卡代还系统管家App开发方案

给大家详细分析一下,带源码的信用卡智能还款APP系统开发,信用卡智能还款APP系统贴牌开发,信用卡智能管家定制开发,信用卡代还系统是一款具有智能管理理财的手机AP??P,它通过智能解析卡的电子账单,以及卡人的个人财务状况来实现持卡人用卡信息管理.它利用持卡人少量的资金,根据持卡人设置的时间智能理财,从而避免持卡人产生不必要的问题.包含了一键绑定邮箱功能,实现账单倒入,可使用卡账务管理服务,查阅账单金额.消费明细.兔息日计算.各种消费报表等,操作简单快捷,APP的优势及特点:安全.方便.高效.节省

康皱系统模式APP开发

康皱系统APP开发[小欧:1366微2427电230]微信电话康皱系统APP软件开发康皱系统APP开发模式 康皱平台系统通过加入社交元素,让商品能够在短期内得到宣传推广,基于"SNS"传播能够引爆销售,让商品快速的覆盖,降低推广成本,让品牌得到推广. 一.康皱面膜: 它是一款高效保湿.锁水的蚕丝面膜, 它有美白.修复.抗衰.紧致.收缩毛孔的功效, 康皱面膜可以入眼,可以吃,食品级安全度的面膜, 孕妇及哺乳期妇女都可以使用,宝妈妈们首选. 二.康皱面膜系统的奖金制度: 1.合伙人 399

Win7 32位系统下Java开发环境的安装及配置

目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,根据需求下载安装不同版本的JDK,最新Java8下载JDK8(http://download.oracle.com/otn-pub/java/jdk/8u5

Windows系统下JAVA开发环境搭建

首先我们需要下载JDK(JAVA Development Kit),JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载并安装完成过后,并不能直接编译我们所编写的JAVA原始程序,接下来需要进行环境变量的配置,告诉计算机所需要执行的应用程序的路径. 环境变量配置方法: 打开我的电脑,按照如下操作顺序:“鼠标