• 杂记-本周工作记录


    最近有点小忙,虽然还抽空去SH参加了iOS的Talk。主要做的是修改了个xCode4.x时代就有的项目,主要内容是添加对iOS7的支持并完成release。不曾想项目本身还有好多问题,在修复过程中发现这些问题都是容易犯错的地方。于是准备一一记录,权且作为一个总结。

    本文已同步到iCocoa,欢迎访问。

    iPad上Present Modal View Controller

    通常情况下,iPad上使用spliteVC,这时如果需要弹出modalVC的时候,需要使用spliteVC来present。如果是用master弹出,当从横屏转向竖屏的时候,由于master会隐藏,所以弹出的modalVC也会消失。

    AutoResize的代码实现

    对于iOS5系统,是不支持autolayout的,要支持这一部分系统的横竖屏旋转的时候,可以在nib文件里直接设置autosize,效果很直观。比如要实现如下的自适应:

    只需要在nib文件里设置:

    但是刚好项目中的文件没有使用nib,只得代码实现。根据nib的设置,我想当然的设置:

    self.redView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleBottomMargin;
    

    发现一旋转view都找不到了。后来发现,如nib中设置的view 的autoresizemask的属性居然是:W+BM,所以代码实现应该是:

    self.redView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleBottomMargin;
    

    ASIHttpRequest的默认长连接方式

    ASI中shouldAttemptPersistentConnection默认是YES,就是会把请求作Keep alive处理。有些人遇到的问题是request会发送2次的问题。而我这里的问题是依次请求服务器同一文件夹下的文件时,有时会返回
    "The operation couldn’t be completed. Connection reset by peer", NSLocalizedDescription=A connection failure occurred

    而据说服务器上没有log,我也不想深究,发现关闭长连接后,这个问题就会消失

    ASI另外一个需要注意的地方是,request结束后的成功/失败的代理是路由到主线程的。有些需要在运行时在次线程慢慢上传下载的请求时,要注意到这一点。

    读取orientation

    读取statu bar 的orientation,否则会返回不确定的方向

    类型转换

    比如,NSUInteger的类型不要用int读取。这个在64bit系统出来了以后,更需要注意。

  • 相关阅读:
    【转载】C#中List集合使用Contains方法判断是否包含某个对象
    【转载】C#中List集合使用Clear方法清空集合
    【转载】C#中List集合使用AddRange方法将一个集合加入到指定集合末尾
    【转载】C#中List集合使用Min()方法查找到最小值
    【转载】 C#中List集合使用OrderByDescending方法对集合进行倒序排序
    Mysql,ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
    Android -- MeasureSpec
    Android -- PullToRefresh应用
    Android -- Gradle
    Android -- ShortCut
  • 原文地址:https://www.cnblogs.com/scorpiozj/p/3425316.html
Copyright © 2020-2023  润新知