iOS
文章平均质量分 66
GreenWitch
你必须非常努力,才能看起来毫不费力
展开
-
UIWindow ,UIView
1.UIWindow**1.UI的窗口类,用于显示界面,一般一个应用至少有一个window 创建window 时,需要指定window 大小. 通常window 的大小(frame)与屏幕大小(UIScreen)大小一致 代码如下:self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen ]bounds]];2.iOS中的原创 2015-09-05 15:17:43 · 359 阅读 · 0 评论 -
iOS———实现抖动效果
实现View 的抖动效果,直接调用下面方法#pragma mark 抖动动画- (void)shakeAnimationForView:(UIView *) view{ // 获取到当前的View CALayer *viewLayer = view.layer; // 获取当前View的位置 CGPoint position = viewLayer.positio原创 2015-11-29 22:04:59 · 1406 阅读 · 0 评论 -
iOS ——逐帧动画
三、补充1.UIImageView的帧动画UIImageView可以让一系列的图片在特定的时间内按顺序显示相关属性解析:animationImages:要显示的图片(一个装着UIImage的NSArray)animationDuration:完整地显示一次animationImages中的所有图片所需的时间animationRepeatCount:动画的执行次数(默认为0,原创 2015-11-29 19:59:27 · 4296 阅读 · 0 评论 -
iOS—— UIView 动画
UIView动画UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持,执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间UIView本身对于基本动画和原创 2015-11-29 13:48:15 · 543 阅读 · 0 评论 -
iOS ——Animation 中的事务CATransaction
理解 CALayer的“Animatable”属性的设置都应该属于某一个CATransaction事务,CATransaction的作用是保证多个“Animatable”的变化同时进行。也就是说CALayer的属性修改需要依赖CATransaction。 CATransaction 事务类,可以对多个layer的属性同时进行修改.它分隐式事务,和显式事务. [隐式]在某次R原创 2015-11-29 22:41:23 · 3314 阅读 · 0 评论 -
iOS——Core Graphic框架学习笔记
.Core Graphic是什么? •Core Graphic框架是一组基于C的API,可以用于一切绘图操作,这个框架的重要性,仅次于UIKit和Foundation 6.Core Graphic有什么用? •当使用UIKit创建按钮、标签或者其他UIView的子类时,UIKit会用Core Graphics将这些元素绘制在屏幕上。此外,UIEvent(UIKit中的事件处理类)也会使用Co原创 2015-11-29 20:15:33 · 614 阅读 · 0 评论 -
iOS——关于应用程序生命周期问题
开发应用程序都要了解其生命周期,今天我们接触一下iOS应用程序的生命周期。Main 函数入口 应用程序启动的时候会执行main 函数,而main函数里面执行了UIApplicationMain函数。UIApplicationMain函数执行完主要做了以下几个操作: (1)创建应用程序UIApplication 对象 (2)创建了应用程序代理对象。默认的应用程序代理对象是AppDelegate。原创 2015-12-01 16:54:56 · 600 阅读 · 0 评论 -
iOS——@synthesize 与@dynamic 的不同
一、SDK中描述是在声明property的时候,有2个选择 1:通过@synthesize 指令告诉编译器在编译期间产生getter/setter方法。 2:通过@dynamic指令,告诉编译器属性的setter与getter 方法由用户自己实现。 假如一个属性被声明为@dynamic str, 然后没有提供setter和getter方法,编译的时候没有问题,但是当程序运行到 instacn原创 2015-12-03 10:11:10 · 437 阅读 · 0 评论 -
iOS —— ARC、MRC 下dealloc 方法存在的意义
MRC下dealloc 方法其实在MRC中dealloc方法存在的主要意义是为了释放自身的实例变量,移除观察者,停止timer,移除通知,代理置空等。注意MRC 下dealoc 方法一定要在最后写[super dealloc];ARC下 系统会帮助我们释放该对象所包含的实例变量,但是有些对象还是需要们自己去释放的(比如Core Foundation框架下的一些对象),另外通知中观察者原创 2015-12-03 13:57:58 · 3280 阅读 · 0 评论 -
iOS —— 简述OC 的内存管理机制
关于OC 的内存管理有很多模糊的地方,下面我们一一说起 首先概念性问题概念为什么进行内存管理 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。内存管理类型: OC 类型 基本类型和C语言的类型:如: int,short原创 2015-12-03 13:53:57 · 3537 阅读 · 0 评论 -
iOS——延展、类目、代理协议
类目应用 对现有的类添加扩展,如:系统中的类,在类目中添加的方法会被子类继承,而且运行时跟其他的方法没有区别。 作为子类的替代方式,不需要定义和使用一个子类,可以通过类目直接向已有的类目里添加方法。 对类中的方法进行归类,利用catigopry把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。 通过类目添加的方法会成为原始类 的一部分注原创 2015-12-03 11:06:50 · 505 阅读 · 0 评论 -
iOS——属性的属性
属性关键字 补充 关于nonatomic,如果我们能确定不需要多线程访问时,强烈推荐使用这个关键字,因为atomic对于性能的损失相对较大。 nonatomic 决定比编译器生成的setter、getter 方法是否是原子操作。 如果是类的delegate,推荐使用assign关键字,原因是避免了retain的死循环造成的对象无法真正的释放strong 、weak原创 2015-12-03 15:16:04 · 784 阅读 · 0 评论 -
iOS ——QuartzCore核心动画框架
核心动画框架 使用核心动画需要引入的框架:#import CALayer: CoreAnimation CALayer就是UIView上的图层,很多的CALayer组成了UIView。 CALayer与UIView是两个完全不同的类 UIView动画就是简单动画,可以实现改变,偏移,形变,翻转,旋转,翻页 QuartzCore.framework:CAAnimation:原创 2015-11-29 19:58:24 · 3516 阅读 · 0 评论 -
iOS —— CALayer 创建图层
添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上) 代码: 添加一个显示图片的图层#import "CALayerViewController"@interface CALayerViewController ()@end@implementa原创 2015-11-29 21:13:25 · 326 阅读 · 0 评论 -
iOS——GET POST 网络请求
1.HTTP协议,Hyper Text Transfer Protocol(超⽂文本传输协议)是 ⽤用于从万维⺴⽹网服务器传送超⽂文本到本地浏览器的传输协议,HTTP是 ⼀一个应⽤用层协议,由请求和响应构成,是⼀一个标准的客户端服务器模型。2.BS和CS的区别以及优缺点 : 1)C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系原创 2015-09-26 20:10:44 · 327 阅读 · 0 评论 -
iOS —— JSON 数据结构及其解析方式
JSON数据结构基本概念1.JSON:(和XML一样都是用来传数据的)轻量级的数据交换格式,正在逐步取代XML.2.JSON的应用场景:(数据量小,轻量级)移动开发中绝大多数还是使用JSON3.Javascript Object Notation ,由于JSON解析便捷、快速,并且相同数据用JSON编辑所占的内存更小,所以在iOS中我们我们使用JSON解析更加普遍。4.JSON文档有两种结构:对象原创 2015-09-26 17:09:58 · 542 阅读 · 0 评论 -
iOS ——XML数据结构及其两种解析数据的方式SAX 、DOM
1.解析的基本概念 所谓解析:从事先规定好的格式中提取数据 解析的前提:提前规定好格式、数据提供方按照格式提供数据、数据获取方则按照格式获取数据。 iOS 常见的解析:XML 解析、JSON 解析2.XML 基本概念 XML:Extensible Markup language(可扩展标记语⾔言)主流数据格式之 一,可以用来存储和传输数据。 XML 数据格式的功能:数据交换、内存管理原创 2015-09-26 16:09:58 · 1632 阅读 · 0 评论 -
iOS——图片下载
真实开发中,网络返回的JSON 或者XML 数据中,通常不会直接包含图片,而是给出图片的URl。 因此:根据图片的URL 获取图片数据,以便UI显示。 1.创建一个request 2.建立urlConnection(获得请求数据NSData)。 3.得到请求到的数据NSdata(异步请求一般使用block 请求方法) 4.使用请求道的数据得到图片。( UIImage * image = [原创 2015-09-27 14:06:47 · 424 阅读 · 0 评论 -
iOS——KVO
一、概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合,尤其是对于 业务逻辑 M与视图控制 C 这两个功能的解耦合。KVO使⽤用步骤:原创 2015-09-27 16:46:41 · 443 阅读 · 0 评论 -
iOS—— 普通类型数据进行数据持久化
概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData沙盒: iOS程序默认情况下只能访问程原创 2015-09-27 21:03:14 · 512 阅读 · 0 评论 -
iOS ——KVO 监测Model 图片下载
前言 UItableView中 ableView:cellForRowAtIndexPath:会在重⽤用的时候,根据Model显示image或者placeholderImage。 如果tableView并未滑动,此时有图⽚片下载完毕,是不会⽴立即更新到 cell上的。 实现方法: 1.tableView:cellForRowAtIndexPath:中,为Model的image属性添加 观原创 2015-09-27 17:10:38 · 426 阅读 · 0 评论 -
iOS—— 秒学远程推送
一. 引言 iOS 中消息推送两种方式,分别是本地推送、远程推送。 这里主要将远程推送与配置过程。二、远程推送机制的原理 这张图很清晰,大致意思是:你的应用服务端将消息发送到apple 的APNS服务器,APNS服务器将消息推送到指定的IPhone,最后由IPhone负责将消息推送至你的APP。虽然中间加了APNS,感觉好像增加了负担,其实恰恰相反, 因为apple 对推送的统一管理,使我原创 2015-10-19 22:35:23 · 705 阅读 · 1 评论 -
iOS——多线程编程详细解析
基本定义: 程序:由代码生成的可执行应用。(例如QQ.app) 进程:一个正在运行的程序可以看做是一个进程。 (例如:正在运行的QQ 就是一个进程),进程拥有独立运行所需要的全部资源。 线程: 程序中独立运行的代码段。(例如: 接收QQ 消息的代码) 一个进程是由一个或者多个线程组成。进程只负责资源的调度和分配,线程才是程序真正懂得执行单元,负责代码的执行。单线程 每个正在运行的程序(即进原创 2015-10-05 22:24:57 · 1075 阅读 · 0 评论 -
iOS—— CALayer 简介
简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatom原创 2015-11-29 21:02:20 · 317 阅读 · 0 评论 -
iOS ——主要框架介绍
最近网上看到不错的关于iOS 主要框架的总结, 在这里贴出来大家一起学习。 http://blog.csdn.net/yuhuangc/article/details/7575519框架 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需转载 2015-11-29 21:14:19 · 389 阅读 · 0 评论 -
iOS —— CALayer 层的属性及隐式动画
CALayer 进一步理解 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation开发动画的本质就是将CALayer中的内容转化为位图从而供硬件操作,所以要熟练掌握动画操作必须先来熟悉CALayer。 当利用drawRect:方法绘图的本质就是绘制到了UIView的layer(属性)中,在原创 2015-11-29 21:46:55 · 833 阅读 · 0 评论 -
iOS——KVO与KCO
分组数原创 2015-12-07 18:00:20 · 536 阅读 · 0 评论