随笔分类 -  iOS

摘要:iOS国际化的大致步骤如下: #1 在最新的Xcode中没有InfoPlist.strings & Localization.strings文件, 所以我们要自己建立这两个文件 #2 选择刚创建的Localization.strings文件, 点击右边的Localize按钮 #3 一般默认有Base 阅读全文
posted @ 2017-03-01 19:39 周希 阅读(671) 评论(0) 推荐(0)
摘要:本章接着NSObject头文件解析 / 消息机制 / Runtime解读(一)写 给类添加属性: 其中有一个参数我们再在上一篇中提到过 typedef struct { const char *name; /**< The name of the attribute */ const char *v 阅读全文
posted @ 2017-02-21 10:30 周希 阅读(544) 评论(0) 推荐(0)
摘要:今天我们来说下怎么自己建一个Push推送服务器, 当然还是用的苹果的APNS 这里我们讲的的自己服务器端的实现 在做推送服务器之前我们要先做一些准备动作 #1. 确保你的App ID有启用PushNotifications 这个可以在你的开发者账号中心里面看看你的App ID的Push Notifi 阅读全文
posted @ 2017-02-21 00:52 周希 阅读(7116) 评论(0) 推荐(0)
摘要:在说Xcode自带测试方法前先讲下程序在内存中的空间划分, 一般可分为5个部分: #1. BSS段, 存放未初始化的全局变量. BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 #2. 数据段, 存放已初始化的全局变量和全局静态变量. 数据段属于静态内存分 阅读全文
posted @ 2017-02-06 23:51 周希 阅读(3488) 评论(0) 推荐(0)
摘要:NSObject头文件解析 当我们需要自定义类都会创建一个NSObject子类, 比如: 那么NSObject里面具体有什么呢? 我们点到它的头文件里面去看看 上面是NSObject对象的头文件类部分, 可以看到还有一个NSObject protocol 我们也仔细看看都有什么协议方法@protoc 阅读全文
posted @ 2017-02-03 14:36 周希 阅读(1359) 评论(0) 推荐(0)
摘要:在App开发中经常会遇到多个线程同时向服务器取数据, 如果每个线程取得数据后都去刷新UI会造成界面的闪烁 也有可能出现部分数据还没有获取完毕造成程序crash 之前在网上看到很多是利用dispatch_group_async、dispatch_group_t与dispatch_group_notif 阅读全文
posted @ 2017-01-18 13:50 周希 阅读(2338) 评论(0) 推荐(0)
摘要:今天我们看下CAReplicatorLayer, 官方的解释是一个高效处理复制图层的中间层。他能复制图层的所有属性,包括动画。 一样我们先看下头文件 我们可以通过CAReplicatorLayer实现很炫的动画, 比如这个 上代码: 利用CAReplicatorLayer可以实现很多神奇的效果, 大 阅读全文
posted @ 2017-01-18 11:10 周希 阅读(1403) 评论(0) 推荐(0)
摘要:使用CAGradientLayer可以实现颜色的渐变, 我们先看下头文件 下面是我用上面的代码实现的最终效果,startPoint是(0,0),endPoint是(1,1)。 下面我们试试用这个来实现一个渐变色的圆环, 需要说明的是CAGradientLayer只能实现矩形范围内的颜色渐变, 那渐变 阅读全文
posted @ 2017-01-18 09:45 周希 阅读(2962) 评论(0) 推荐(0)
摘要:之前我们讲过可以用CALayer搭配CATransform3D来实现将View做3D旋转, 今天我们再看一个3D的新东西 CATransformLayer, 看名字就知道这个layer跟旋转有关, 那么具体是什么呢? 我们看他的头文件, 没有任何属性. 他其实是作为一个容器, 我们可以往里面添加其他 阅读全文
posted @ 2017-01-16 17:39 周希 阅读(871) 评论(0) 推荐(0)
摘要:CALayer有一个属性叫做mask。 这个属性本身就是个CALayer类型,有和其他图层一样的绘制和布局属性。 它类似于一个子图层,相对于父图层(即拥有该属性的图层)布局,但是它却不是一个普通的子图层。 不同于那些绘制在父图层中的子图层,mask图层定义了父图层的部分可见区域。 mask图层的Co 阅读全文
posted @ 2017-01-12 18:01 周希 阅读(5543) 评论(0) 推荐(2)
摘要:我们先来看下CATransform3D的头文件 可以看到CATransform3D是一个4 * 4结构体, 另外它还有一个弟弟CGAffineTransform是 3 * 3结构体 他们的区别看名字就很明显, CATransform3D是做3D坐标变换, 经常适用于CALayer CGAffineT 阅读全文
posted @ 2017-01-12 13:38 周希 阅读(4344) 评论(0) 推荐(0)
摘要:之前讲过使用UIBezierPath在UIView的drawRect中绘图, 今天我们讲下另外一种方式: CAShaperLayer 先说说使用CAShapeLayer的优点: GPU执行, GPU执行, GPU执行 比如我们要画这样一个形状, 按照之前的思路是创建一个UIView子类, 用UIBe 阅读全文
posted @ 2017-01-11 15:15 周希 阅读(5793) 评论(1) 推荐(0)
摘要:先说下当前我为处理动画的思路: (新手上路, 老司机轻喷,如果有更好的实现方法请大神指教 感恩戴德) #1. 分析动画构成 #2. 如果是位移动画则考虑使用BasicAnimation或者KeyframeAnimation实现, 需要的话再搭配缓动函数 #3. 比较复杂的动画则考虑是否用UIBezi 阅读全文
posted @ 2017-01-09 17:22 周希 阅读(424) 评论(0) 推荐(0)
摘要:我们可以通过CATransiton来自定义一些漂亮的转场动画, CATransition继承自CAAnimation, 所以用法跟CAAnimation差不多 先直接上一个代码: 创建专场动画跟创建CAAnimation动画类似, 一样需要设置duration, fillmode 我们说下增加的两个 阅读全文
posted @ 2017-01-06 14:03 周希 阅读(388) 评论(0) 推荐(0)
摘要:OC中调用方法某个对象的消息呦两种方式: #1. performanceSelector: withObject: #2. NSInvocation. 第一个PerformaceSelector比较常用, 也比较简单。 但是这个方式最多只能传递2个参数 当需要2个以上参数时就只能用NSInvocat 阅读全文
posted @ 2017-01-06 12:32 周希 阅读(675) 评论(0) 推荐(0)
摘要:OC中的三种定时器:CADisplayLink、NSTimer、GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 从头文件来看CADisplayLink的使用还是挺简单的, 下面上代码: 代码很简单就不做说明了 需要注意的是CADisplayLink必须要添加 阅读全文
posted @ 2017-01-06 11:33 周希 阅读(4239) 评论(0) 推荐(0)
摘要:当需要画图时我们一般创建一个UIView子类, 重写其中的drawRect方法 再drawRect方法中利用UIBezierPath添加画图 UIBezierPath的使用方法: (1)创建一个Bezier path对象。 (2)使用方法moveToPoint:去设置初始线段的起点。 (3)添加li 阅读全文
posted @ 2017-01-05 17:32 周希 阅读(7663) 评论(0) 推荐(0)
摘要:CAAnimaton动画分为CABasicAnimation & CAKeyframeAnimation CABasicAnimation动画, 顾名思义就是最基本的动画, 老规矩先上代码: gif是抄的老司机的 首先创建动画的时候我们直接指定keypath为“position”位移动画, 还有哪些 阅读全文
posted @ 2017-01-05 11:45 周希 阅读(2587) 评论(0) 推荐(0)
摘要:之前每次用到UICollectionView的时候都会都需要在Controller里面去实现DataSource & Delegate方法 单独Delegate方法还好不是很多, 但是再加上DataSource就很臃肿了, 为了避免代码臃肿也减少ViewController的代码量 我们可以将Dat 阅读全文
posted @ 2016-12-20 20:40 周希 阅读(692) 评论(0) 推荐(0)
摘要:在之前的项目中好多处用到了tableView,然而之前不懂得将代理方法实现分离,所以每在一处用到tableView就要在controller中写一遍UITableViewDataSource和UITableViewDelegate,实现tableView的基本功能中用到的tableViewDeleg 阅读全文
posted @ 2016-12-20 20:25 周希 阅读(1618) 评论(0) 推荐(0)