iOS粒子系统CAEmitterLayer的使用 发表于 2017-08-16 CAEmitterLayer是苹果在iOS 5时候开始引入的CALayer的一个子类,它是一个高性能的粒子引擎,可以用来实现一些比如下雨、烟雨、火焰的效果。比如微信中实现的表情从天而降的效果就是通过它来实现的。 下图就是一个使用CAEmitterLayer实现的雨的效果。 看起来很厉害的效果其实 ... 阅读全文 »
iOS通过UTI(统一类型标示符)实现应用间文件的传递 发表于 2017-08-04 最近需要实现一个应用内导入excel文件的需求,突然想到了在使用其他应用的分享时都会看到下边有几个第三方应用。 那我们就来看看这个功能是如何实现的。 另外,这篇文章写之前有学习并参考了SeraZheng大神在简书上的详解苹果提供的UTI(统一类型标识符)。关于UTI的详细解析也可以参考大神的文章 ... 阅读全文 »
iOS获取当前显示的控制器 发表于 2017-08-02 在开发中有可能会出现从任何页面跳转到某一个指定页面的需求,比如在使用应用时,突然推送过来一条消息,用户点击了之后就会跳到指定的页面,因为不知道当前用户操作的是哪一个控制器,所以没办法实现跳转。 首先我们先获取 rootViewController。 12UIWindow *keyWindow = [ ... 阅读全文 »
iOS 10.3新特性-在应用内评分 发表于 2017-07-30 概述iOS 10.3当中苹果推出了一个新的评论应用的特性。官方文档 这个新的特性总体来说就是这样的: 这个是Xcode文档中的说明: 大概的意思呢就是 开发的时候,无论什么时候都会弹出这个弹框; 在产品上线了之后,你可以调用这个方法,但是我们(苹果)不一定会弹出它(这个接口的显示逻辑由苹 ... 阅读全文 »
斯坦福大学iOS公开课笔记(12)-CoreData 发表于 2017-07-09 这一节课主要是介绍iOS中本地化处理最有力的工具,CoreData。这节课中主要是介绍CoreData的概念部分,在下节课中会做一个大的Demo,用来展示如何使用CoreData进行数据的本地化处理。 CoreData是一个本地数据化的工具,但是他不是一个数据库,而是作为一个链接类和数据库之间的桥梁 ... 阅读全文 »
iOS中造成delloc不被调用的原因 发表于 2017-06-30 最近在做需求的时候需要在键盘弹起的时候将一个半透明黑色蒙层覆盖在页面上,但是因为如果直接将这个蒙层添加到self.view中的话没办法覆盖到导航栏,所以我把它添加到了整个页面的最上方,覆盖到导航栏。 但是这样就有一个问题,就是当我pop出这个页面之后,这个蒙层并没有销毁,而是当我在其他页面弹出键盘的 ... 阅读全文 »
斯坦福大学iOS公开课笔记(11)-UITableView和iPad应用开发 发表于 2017-06-19 这节课主要介绍了UITableView的使用,还讲到了针对iPad进行开发时需要适配的特性。最后还是老样子通过一个Demo来加深对知识点的理解。 UITabelViewUITableView是iOS开发中最重要的控件之一,几乎所有的页面中都会有他的身影,自然他的功能也非常强大。 UITableVie ... 阅读全文 »
斯坦福大学iOS公开课笔记(10) -多线程和UIScrollerView 发表于 2017-06-15 这节课主要讲了多线程的基础知识,然后讲了UIScrollView,在最后通过一个下载网络图片并且支持放大缩小的Demo来加深对多线程的理解和UIScrollView的使用。 多线程多线程就是将程序的执行路径分为不同的路径,可能在同一时间运行。通过这样的方法使程序有更好的响应能力。 队列代码中的队列就 ... 阅读全文 »
iOS轮播图片的简单实现 发表于 2017-06-15 大多数应用中在页面的顶部可能都会用到一种轮播图片的Banner,实现这个轮播的方式有很多种,这次我说的这个方式是最简单的,但是相对也会带来快速滑动卡顿的问题。 原理先说一下原理吧,这次的方法是使用三个UIImageView,简单的说就是每次滑动之后都跳回到最中间的imageview,然后替换显示的图 ... 阅读全文 »