![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UI
文章平均质量分 63
GreenWitch
你必须非常努力,才能看起来毫不费力
展开
-
字号与尺码对照表
印刷文字有大、小的不同变化,排版及图象处理软件中汉字字体大小的计量,前主要采用印刷业专用的号数制和点数制。其尺寸规格以正方形的汉字为准(对于长或扁的变形字,则要用字的双向尺寸参数。) 号数制: 汉字大小定为七个号数等级——按,1号、2号、3号、4号、5号、6号、7号由大至小排列。在字号等级之间又增加一些字号,并取名为“小几号字”,如“小4号””、“小5号”等等。号数转载 2015-08-29 17:57:48 · 2114 阅读 · 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 · 621 阅读 · 0 评论 -
iOS ——Animation 中的事务CATransaction
理解 CALayer的“Animatable”属性的设置都应该属于某一个CATransaction事务,CATransaction的作用是保证多个“Animatable”的变化同时进行。也就是说CALayer的属性修改需要依赖CATransaction。 CATransaction 事务类,可以对多个layer的属性同时进行修改.它分隐式事务,和显式事务. [隐式]在某次R原创 2015-11-29 22:41:23 · 3335 阅读 · 0 评论 -
iOS—— UIView 动画
UIView动画UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持,执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间UIView本身对于基本动画和原创 2015-11-29 13:48:15 · 558 阅读 · 0 评论 -
iOS —— CALayer 层的属性及隐式动画
CALayer 进一步理解 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation开发动画的本质就是将CALayer中的内容转化为位图从而供硬件操作,所以要熟练掌握动画操作必须先来熟悉CALayer。 当利用drawRect:方法绘图的本质就是绘制到了UIView的layer(属性)中,在原创 2015-11-29 21:46:55 · 850 阅读 · 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 · 1423 阅读 · 0 评论 -
iOS—— CALayer 简介
简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatom原创 2015-11-29 21:02:20 · 328 阅读 · 0 评论 -
iOS —— CALayer 创建图层
添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上) 代码: 添加一个显示图片的图层#import "CALayerViewController"@interface CALayerViewController ()@end@implementa原创 2015-11-29 21:13:25 · 328 阅读 · 0 评论 -
iOS——关于应用程序生命周期问题
开发应用程序都要了解其生命周期,今天我们接触一下iOS应用程序的生命周期。Main 函数入口 应用程序启动的时候会执行main 函数,而main函数里面执行了UIApplicationMain函数。UIApplicationMain函数执行完主要做了以下几个操作: (1)创建应用程序UIApplication 对象 (2)创建了应用程序代理对象。默认的应用程序代理对象是AppDelegate。原创 2015-12-01 16:54:56 · 637 阅读 · 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 · 447 阅读 · 0 评论 -
iOS——属性的属性
属性关键字 补充 关于nonatomic,如果我们能确定不需要多线程访问时,强烈推荐使用这个关键字,因为atomic对于性能的损失相对较大。 nonatomic 决定比编译器生成的setter、getter 方法是否是原子操作。 如果是类的delegate,推荐使用assign关键字,原因是避免了retain的死循环造成的对象无法真正的释放strong 、weak原创 2015-12-03 15:16:04 · 792 阅读 · 0 评论 -
iOS——延展、类目、代理协议
类目应用 对现有的类添加扩展,如:系统中的类,在类目中添加的方法会被子类继承,而且运行时跟其他的方法没有区别。 作为子类的替代方式,不需要定义和使用一个子类,可以通过类目直接向已有的类目里添加方法。 对类中的方法进行归类,利用catigopry把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。 通过类目添加的方法会成为原始类 的一部分注原创 2015-12-03 11:06:50 · 519 阅读 · 0 评论 -
iOS —— 简述OC 的内存管理机制
关于OC 的内存管理有很多模糊的地方,下面我们一一说起 首先概念性问题概念为什么进行内存管理 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。内存管理类型: OC 类型 基本类型和C语言的类型:如: int,short原创 2015-12-03 13:53:57 · 3560 阅读 · 0 评论 -
iOS —— ARC、MRC 下dealloc 方法存在的意义
MRC下dealloc 方法其实在MRC中dealloc方法存在的主要意义是为了释放自身的实例变量,移除观察者,停止timer,移除通知,代理置空等。注意MRC 下dealoc 方法一定要在最后写[super dealloc];ARC下 系统会帮助我们释放该对象所包含的实例变量,但是有些对象还是需要们自己去释放的(比如Core Foundation框架下的一些对象),另外通知中观察者原创 2015-12-03 13:57:58 · 3307 阅读 · 0 评论 -
iOS ——逐帧动画
三、补充1.UIImageView的帧动画UIImageView可以让一系列的图片在特定的时间内按顺序显示相关属性解析:animationImages:要显示的图片(一个装着UIImage的NSArray)animationDuration:完整地显示一次animationImages中的所有图片所需的时间animationRepeatCount:动画的执行次数(默认为0,原创 2015-11-29 19:59:27 · 4312 阅读 · 0 评论 -
iOS ——主要框架介绍
最近网上看到不错的关于iOS 主要框架的总结, 在这里贴出来大家一起学习。 http://blog.csdn.net/yuhuangc/article/details/7575519框架 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需转载 2015-11-29 21:14:19 · 398 阅读 · 0 评论 -
iOS——UINavigationController
思维导图:页面跳转: 1.平级(切页) 2.覆盖{左右推,从下面推上去} UINavigationController 实现左右推 上下推:模式UINavigationController:导航控制器,是iOS中最常见的多视图控制器之一,它用来管理多个试图控制器。 导航控制器:管理控制器的控制器。 UINavigationController 继承于UIViewController,以原创 2015-09-08 22:07:03 · 407 阅读 · 0 评论 -
iOS——UISegmentedControl 的用法
UISegmentedControl是iOS中的分段控件。 //Segmented 分段的、分割 每个segment都能被点击,相当于集成了若干个button。 通常我们会点击不同的segment来切换不同的view。 //分配间距方法,默认最长,每个都是最长的。 self.segmentedcontrol=[[UISegmentedControl alloc]initWithI原创 2015-09-06 19:27:13 · 1290 阅读 · 0 评论 -
iOS——图片下载
真实开发中,网络返回的JSON 或者XML 数据中,通常不会直接包含图片,而是给出图片的URl。 因此:根据图片的URL 获取图片数据,以便UI显示。 1.创建一个request 2.建立urlConnection(获得请求数据NSData)。 3.得到请求到的数据NSdata(异步请求一般使用block 请求方法) 4.使用请求道的数据得到图片。( UIImage * image = [原创 2015-09-27 14:06:47 · 434 阅读 · 0 评论 -
iOS ——KVO 监测Model 图片下载
前言 UItableView中 ableView:cellForRowAtIndexPath:会在重⽤用的时候,根据Model显示image或者placeholderImage。 如果tableView并未滑动,此时有图⽚片下载完毕,是不会⽴立即更新到 cell上的。 实现方法: 1.tableView:cellForRowAtIndexPath:中,为Model的image属性添加 观原创 2015-09-27 17:10:38 · 435 阅读 · 0 评论 -
Xcode引入外界文件时选Create groups 或 Create folder references的区别
一、使用Create groups 我们在项目中可以手动添加一个groups(右键点击选择New Group),但是手动添加的groups实际上并不会存在于项目的目录中,被添加进groups中的文件仍在位于它原来所在的位置,但从外部引入进来的groups并不会如此。groups一旦被创建或添加,都是以黄色文件夹的形式存在的,当你想要使用文件夹中的某个类的头文件时,你可以直接添加它的引用。因为grou原创 2015-09-06 19:54:48 · 2701 阅读 · 0 评论 -
iOS——UIImageView的使用方法详细
// 初始化一个imageView self.imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 40, 300, 400)];// _imageView.image=[UIImage imageNamed:@"image_0.tiff"]; //创建可变数组用来盛放所有图片 NSMutableArr原创 2015-09-06 21:29:01 · 1324 阅读 · 0 评论 -
iOS—— 普通类型数据进行数据持久化
概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData沙盒: iOS程序默认情况下只能访问程原创 2015-09-27 21:03:14 · 518 阅读 · 0 评论 -
iOS——KVO
一、概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合,尤其是对于 业务逻辑 M与视图控制 C 这两个功能的解耦合。KVO使⽤用步骤:原创 2015-09-27 16:46:41 · 473 阅读 · 0 评论 -
iOS开发中UITableView和UItableViewCell的几种形式
一、系统自己的UITableView样式有两种:1.UITableViewStylePlain:Plain样式的是方形的,充满你给的view.frame坐标。2.UITableViewStyleGrouped: Grouped样式主要是以圆角形显示。跟iphone自带的通讯录编辑页面类似。分组格式如果没有内容显示就没有边框二、系统自己的UITableViewCell样式有四种:1.UITa原创 2015-09-15 08:38:38 · 654 阅读 · 0 评论 -
iOS—— 秒学远程推送
一. 引言 iOS 中消息推送两种方式,分别是本地推送、远程推送。 这里主要将远程推送与配置过程。二、远程推送机制的原理 这张图很清晰,大致意思是:你的应用服务端将消息发送到apple 的APNS服务器,APNS服务器将消息推送到指定的IPhone,最后由IPhone负责将消息推送至你的APP。虽然中间加了APNS,感觉好像增加了负担,其实恰恰相反, 因为apple 对推送的统一管理,使我原创 2015-10-19 22:35:23 · 709 阅读 · 1 评论 -
文章标题
1.创建视图控制器 当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用转载 2015-09-16 21:34:30 · 236 阅读 · 0 评论 -
iOS——多线程编程详细解析
基本定义: 程序:由代码生成的可执行应用。(例如QQ.app) 进程:一个正在运行的程序可以看做是一个进程。 (例如:正在运行的QQ 就是一个进程),进程拥有独立运行所需要的全部资源。 线程: 程序中独立运行的代码段。(例如: 接收QQ 消息的代码) 一个进程是由一个或者多个线程组成。进程只负责资源的调度和分配,线程才是程序真正懂得执行单元,负责代码的执行。单线程 每个正在运行的程序(即进原创 2015-10-05 22:24:57 · 1086 阅读 · 0 评论 -
Segue
由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,在storyboard中,界面的跳转是通过segue来实现的,利用它,省去了方法内写入跳转的代码。一 视图跳转《StoryBoard下的视图跳转》我们知道:segue共有三种类型:转载 2015-09-17 21:21:25 · 734 阅读 · 0 评论 -
iOS ——QuartzCore核心动画框架
核心动画框架 使用核心动画需要引入的框架:#import CALayer: CoreAnimation CALayer就是UIView上的图层,很多的CALayer组成了UIView。 CALayer与UIView是两个完全不同的类 UIView动画就是简单动画,可以实现改变,偏移,形变,翻转,旋转,翻页 QuartzCore.framework:CAAnimation:原创 2015-11-29 19:58:24 · 3526 阅读 · 0 评论 -
iOS——KVO与KCO
分组数原创 2015-12-07 18:00:20 · 547 阅读 · 0 评论