自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习笔记

Android,ios等

  • 博客(84)
  • 资源 (5)
  • 问答 (3)
  • 收藏
  • 关注

转载 loadView 系列函数的调用顺序

在该环境中有两个viewController,命名为A和B,tag分别为1和2,A控制程序启动的时候即加载的界面,在A中放一个按钮,按下后会通过segue来调用到界面B;B 中页放一个按钮,通过执行[self dismissModalViewControllerAnimated:YES]; 来返回界面A然后检测所有的函数调用,依次如下加载A的时候依次调用

2015-03-31 11:54:11 766

转载 iOS AnchorPoint锚点

锚点嘛,什么有锚?船,船的锚丢下之后,所有的动作都跑不出这个锚点了。我们知道一个精灵就是一张图片,而图片是一个矩形点阵,进行各种动作是需要有一个基准的。譬如,我们要指定这个精灵在屏幕上的位置position,我们给一个坐标cpp(240, 160),如果没有锚点,这精灵就囧了,究竟是让我的头在这个点上还是让我的脚在这个点上?而锚点就帮我们解决了这个问题,通过我们的设置,要它的肚脐眼

2015-03-31 11:29:38 1807

转载 改变缩放或旋转的支点用 AnchorPoint

经常会遇到需求,要求手势的缩放或者旋转操作,要求动作变化围绕某一个特定点,或者是两指的中心点,或者是某一个点。这个问题首先要清晰的知道,iOS各个view的层次关系。特别是,要清除的知道,当前view的frame与superView的bounds是一个坐标系。具体来讲,AnchorPoint 是iOS CoreAnimation层的事物。图层的anchorPoint属性是一个CGPoi

2015-03-30 15:21:31 1619

转载 CGContext常用函数简介

CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 CGContextMoveToPoint 开始画线 CGContextAddLineToPoint 画直线 CGContextAddEllipseInRect 画一椭圆 CGContextSetLineCap 设置线条终点形状 CGContextSet

2015-03-28 15:19:30 361

转载 convertPoint,convertRect,convertPoint:toLayer:系列函数(未完)

背景知识Every UIView has its own coordinates system. convertPoint:toView: allows the developer to take a point in one view and convert the point to another view coordinate system.Example:v

2015-03-28 14:42:07 1647

转载 CALayer简介 (十)CALyer与截屏

获取CALayer中的内容——截屏UIGraphicsBeginImageContext(self.view.bounds.size);[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *image = UIGraphicsGetImageFromCurrentImageConte

2015-03-27 17:03:48 1443

原创 CALayer简介 (九)CGContext、CALayer、UIView的关系

CALayer、UIView以及上下文之间的关系当UIView收到setNeedsDisplay消息时,CALayer会准备好一个CGContextRef,然后向它的delegate即UIView,发送消息,并且传入已经准备好的CGContextRef对象。UIView在drawLayer:inContext:方法中会调用自己的drawRect:方法平时在drawRect:中通过U

2015-03-27 17:02:56 648

转载 CALayer简介 (八)在CALayer上绘图

在CALayer上绘图要在CALayer上绘图,有两种方法:创建一个CALayer的子类,然后覆盖drawInContext:方法,可以使用Quartz2D API在其中进行绘图设置CALayer的delegate,然后让delegate实现drawLayer:inContext:方法进行绘图不能再将UIView设置为这个CALayer的delegate,因为UIV

2015-03-27 17:01:39 483

转载 CALayer简介 (七)CALayer的隐式动画属性

CALayer的隐式动画属性每一个UIView内部都默认关联着一个CALayer,称这个Layer为Root Layer。所有的非Root Layer都存在着隐式动画,隐式动画的默认时长为1/4秒。当修改非Root Layer的部分属性时,相应的修改会自动产生动画效果,能执行隐式动画的属性被称为“可动画属性”,诸如:bounds: 缩放动画position: 平移动

2015-03-27 16:59:21 360

转载 CALayer简介 (六)CALayer中图像及颜色的注意事项

CALayer中图像及颜色的注意事项CALayer中使用CGColorRef和CGImageRef的数据类型,而不用UIColor和UIImageQuartzCore(包含CALayer类)和Core Graphics(包含CGImageRef、CGColorRef)框架都能在iOS和Mac OS X上使用,但是UIKit(包含UIImage和其他UI开头的类)只能在iOS中使用

2015-03-27 16:58:40 1124

转载 CALayer简介 (五)创建自定义CALayer

创建自定义图层创建自定义图层,并设置以下属性:bounds:宽度和高度backgroundColor: 背景颜色(CGColorRef类型)position:位置(默认指中点,具体由anchorPoint决定)anchorPoint:锚点(x,y的范围都是0-1),决定了position的含义contents:内容CGImageRef锚点和位

2015-03-27 16:55:55 384

转载 CALayer简介 (四)常用属性说明

CALayer的常用属性说明通过UIView的layer属性可以拿到对应的根层,这个层不允许重新创建,但可以往层里面添加子层(调用CALayer的addSublayer)要具体使用CALayer,需要引入获取当前图层或使用静态方法layer初始化CALayer后,可以设置以下属性bounds:宽度和高度position:位置(默认指中心点,具体由anchor

2015-03-27 16:53:22 361

转载 CALayer简介 (二)UIView和UIImageView的CALayer属性

UIView的CALayer基本属性设置UIView中的CALayer属性圆角、边框、阴影及3D形变属性在UIView中CALayer只是一个类声明,需要添加QuartzCore框架在使用颜色时,不能直接使用UIColor而需要将颜色转成CGColor修改图层相当于修改UIView属性,即修改了界面属性要设置阴影,需要同时指定阴影的偏移尺寸、颜色和透

2015-03-27 16:47:23 586

转载 CALayer简介 (一)功能

CALayer简介Core Animation是跨平台的,支持iOS环境和Mac OS X环境凡是支持跨平台的框架,都不能直接使用UIKit框架,因为UIKit框架只能应用在iOS而不能用于Mac需要先理解CALayer,因为核心动画操作的对象是CALayer,而不是UIViewCALayer是核心动画的基础,可以做圆角、阴影、边框等效果每个UIView内部

2015-03-27 16:45:43 417

转载 CALayer 的简单使用

一、简单介绍在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层@property(nonatomi

2015-03-27 16:33:02 367

转载 CALayer简介 (三)UIView和CALayer之间的关系

创建视图对象时,视图会自己创建一个层,视图在绘图(如drawRect:)时,会将内容画在自己的层上。当视图在层上完成绘图后,系统会将图层拷贝至屏幕(CALayer绘图的上下文是图像,整个画完后,才显示,提前绘制提高性能以及用户体验)。每个视图都有一个层,每个图层又可以有多个子层Layer的设计目的不是为了取代视图,不能基于CALayer创建一个独立的可视化组件Layer的设计目的是提供视图的基本可

2015-03-27 16:28:02 425

转载 IOS经常用到的控件尺寸集合

ElementSize (in points)Window (including status bar)320 x 480 ptsStatus Bar(How to hide the status bar)20 ptsView inside window (visible status bar)320 x 46

2015-03-26 16:24:29 348

转载 UIView 简介(十二)自定义UIView 的注意事项

为子类的实现需要去做更多的工作,并去调增其性能。当我们去写UIView的子类时,应该去重写一些方法。初始化:  initWithFrame——推荐去实现此方法,除了它,我们也可以实现一些其他的自定义初始化方法。  initWithCoder——当从IB nib file中load view并且需要自定义初始化时,实现此方法。Drawing and print

2015-03-25 22:08:36 435

转载 UIView 简介(十一)UIView方法 简要说明

下面是UIView方法的一些简要说明1.初始化view 对象(1)(id)initWithFrame:()CGRectaRect初始化并返回一个新的收集的view 对象用具体的区域。如果用程序的方法创建一个view 对象,此方法是UIView对象的designated initalizer方法。子类可以覆盖此方法去进行一些自定义的初始化但是在方法实现的开始处一定要调用sup

2015-03-25 19:56:06 340

转载 UIView 简介(十)注意事项

有效使用视图的提示 当你需要绘制一些标准系统视图不能提供的内容时,定制视图是很有用的。但是你要负责保证视图的性能要足够的高。UIKit会尽可能的优化视图相关的行为,也会帮助你提高性能。然而,考虑一些提示可以帮助到UIKit。 重要:在调整绘制代码之前,你应该一直收集与你视图当前性能有关的数据。估量当前性能让你可以确定是否真的有问题,同时如果真的有问题,它也提供一个基线,让你

2015-03-25 19:43:42 318

转载 UIView 简介(九)视图的运行时交互模型

视图的运行时交互模型  当用户和界面进行交互时,或者由代码程序性的改变一些东西时,一系列复杂的事件就会发生在UIKit的内部来处理这些交互。在这个系列中的某些点,UIKit唤出你的视图类,同时给它们一个机会去响应程序的行为。理解这些唤出点对于理解视图在哪里融入系统很重要。Figure 1-7 展示了这些事件的基本序列,从用户触屏开始到图形系统更新屏幕内容来响应结束。同样的事件序列也会发

2015-03-25 19:33:18 569

转载 UIView 简介(八)点与像素

点与像素在iOS中,所有的坐标值和距离都被指定为使用浮点数,其单元值称为点。点的数量随着设备的不同而不同,而且彼此不相关。要明白关于点的最主要一点是它们提供了一个绘制用的固定框架。Table 1-1 列出了不同iOS设备的分辨率(点度量)。前为宽后为长。只要你依照这些屏幕的尺寸来设计用户界面,你的视图就回被相应的设备正确显示。 Table 1-1  

2015-03-25 19:21:07 522

转载 UIView 简介(七)坐标系统转换矩阵

坐标系统转换矩阵坐标系统转换矩阵给改变视图(或者是它的视图)提供了一个轻松和简易的方法。一个仿射转换是一个数学矩阵,它指定了在坐标系统中的点是怎么被映射到另一个坐标系统中的点。你可以对整个视图应用仿射转换,以基于其父视图来改变视图的尺寸,位置或者朝向。你也可以在你的绘制代码中应用仿射转换,以对已解释内容的独立部分实现相同的操控。如何应用仿射转换是基于这样的上下文的:为了修改整个视图

2015-03-25 19:06:19 495

转载 UIView 简介(六)视图几何结构和坐标系统 包括frame, bounds和center属性之间的关系

UIKit的默认坐标系统把原点设置在左上角,两条轴往下和右扩展。做标志被表示为浮点数,这样允许内容的精确布局和定位而不管底层的屏幕。Figure1-4展示了相对于屏幕的坐标系统。除了屏幕坐标系统窗口和视图也定义了它们自己的本地坐标系统,这样允许你指定相对于视图或者窗口原点的坐标而不是屏幕。Figure 1-4 UIKit中的坐标系统 因为每个

2015-03-25 17:15:14 576

转载 UIView 简介(五)嵌入式动画支持

使用层对象来支持视图的其中一个利益是你可以轻松的用动画处理视图相关的改变。动画是与用户进行信息交流的一个有用的方法,而且应该总是在进行应用设计的过程中考虑使用动画。UIView类的很多属性是动画化的-也就是,可以半自动的从一个值动画的变化到另一个值。为了实现这样一个动画,你需要做的只是:1 告诉UIKit你想要实现一个动画2 改变动画属性的值在一个UIVie

2015-03-25 16:56:15 412

转载 UIView 简介(四)contentStretch属性 (内容拉伸)

拉伸视图 你可以指定视图的某部分为可拉伸的,以便当视图的尺寸改变时只有可拉伸的部分被影响到。可拉伸的部分通常给按钮或者其他的部分为重复模式的视图。由你指定的可拉伸区域允许沿着两条或者其中一条轴拉伸。当然,当一个视图沿着两条轴拉伸的时候,视图的边界必须也定义了一个重复的模式来避免任何的扭曲。Figure1-3展示了这种扭曲在视图里是怎么表现自己的。每个视图里的原始像素

2015-03-25 16:43:19 1064

转载 UIView 简介(三)contentMode属性 (内容模式)

视图的内容模式控制着视图如何回收内容来响应视图几何结构的变化,也控制着是否需要回收内容。当一个视图第一次显示时,它通常会解释内容,其结果会被底层的层级树捕获为一张位图。在那之后,改变视图的几何结构不会导致重新创建位图。相反,视图中contentMode属性的值决定着这张位图是否该被拉伸,以适应新的边界或者只是简单的被放到角落或者视图的边界。 视图的内容模式在你进

2015-03-25 16:18:47 617

转载 UIView 简介(二)视图绘制周期

1.首次绘制UIView类使用一个点播绘制模型来展示内容。当一个视图第一次出现在屏幕前,系统会要求它绘制自己的内容。2.创建快照在该流程中,系统会创建一个快照,这个快照是出现在屏幕中的视图内容的可见部分。如果你从来没有改变视图的内容,这个视图的绘制代码可能永远不会再被调用。这个快照图像在大部分涉及到视图的操作中被重用。3.更新快照如果你确实改变了视图内容,也

2015-03-25 16:06:02 627

原创 UIView 简介(一)ios 显示图层的层次框架

UIView的重要性大部分你想要可视化操作都是由视图对象-即UIView类的实例-来进行的。ios 显示图层的层次框架上层:    UIView视图和它的层对象,每个UIKit框架里的视图都被一个层对象支持(通常是一个CALayer类的实例)(UIView视图可以是容器)中间层:在它们的层对象之后是Core Animation的解释对象,底层:    最

2015-03-25 15:26:08 2018

转载 UIView的 contentStretch属性

通过实例和图片理解UIView的contentStretch属性方法通过一个图片建立一个简单的UIImageView设置它的contentStretch属性修改它的frame属性观察测试用的图片:新建一个 UIImageView:UIImageView *imageView = [[UIImageView alloc] initWithI

2015-03-25 11:24:30 314

原创 mac os 配置web 服务器

设置服务器打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”选中即可启动Apache有两种方法:打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”打开“终端

2015-03-24 18:00:01 1982

原创 播放视频-包括 本地视频 和 网络视频

MPMoviePlayerViewController 是播放视频的类,他是一个viewController,继承自UIViewController 同时又是UIViewController的类别。视频播放时候会全屏,里面有两个关键函数启动视频播放视图- (void)presentMoviePlayerViewControllerAnimated:(MPMo

2015-03-24 17:36:30 607

原创 NSNotificationCenter 编程简介

1.注册通知: 即要在什么地方接受消息 (要注册接收通知的函数以及传递的对象,消息名称)               [[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector(mytest:) name:@" mytest" object:nil];       参数介绍:

2015-03-24 16:56:07 263

原创 录音设置选项

AVFormatIDKey 音频的格式取值详表enum{    kAudioFormatLinearPCM               ='lpcm',    kAudioFormatAC3                     ='ac-3',    kAudioFormat60958AC3                ='cac3',

2015-03-24 14:16:20 1338

原创 数值与NSNumber互转

@interface NSNumber :NSValue- (char)charValue;- (unsignedchar)unsignedCharValue;- (short)shortValue;- (unsignedshort)unsignedShortValue;- (int)intValue;- (unsignedint)unsigne

2015-03-22 17:47:29 4120

原创 音频播放协议AVAudioPlayerDelegate 函数简介

/* audioPlayerBeginInterruption: is called when the audio session has been interrupted while the player was playing. The player will have been paused. *///产生中断后调用这个函数,通常暂停播放- (void)audioPlayerBe

2015-03-21 21:03:09 1264

原创 AVAudioPlayer 在模拟器上无法播放音频的问题

AVAudioPlayer* player = [[AVAudioPlayeralloc] initWithContentsOfURL:fileUrlerror:&err];原因:player 是局部变量,函数结束后就释放了,无法播放完整,对象就结束。解决方案如下:1.变成成员变量   //推荐player 设置成 成员变量就

2015-03-21 20:53:45 2211

原创 NSBundle mainBundle] pathForResource 返回nil的解决办法

fileName = [[NSBundlemainBundle] pathForResource:@“sample” ofType:@“m4a”];在项目工程下面明明显示有 sample.m4a 但是却返回nil,这是因为 sample.m4a 并没有真正加入到工程中,可能是拷贝的时候没有选target如下操作:

2015-03-21 20:24:38 11051

转载 AVAudioPlayer音频播放

IOS中有三种播放音频的方式:AVAudioPlayer、音频服务、音频队列。       此文主要讲AVAudioPlayer,其他两个请见相关文章。AVAudioPlayer在AVFoundation框架下,所以我们要导入AVFoundation.framework。AVAudioPlayer类封装了播放单个声音的能力。播放器可以用NSURL或者NSData来初始化,要

2015-03-21 19:20:46 598

原创 CGAffineTransformMake系列函数

transform 属性  UIView的transform属性用于控制UIView的缩放,旋转等,有四个方法用来操作。如:imgView.transform =CGAffineTransformMakeTranslation(translation.x,translation.y);函数详解CGAffineTransform CGA

2015-03-21 15:29:55 596

BIG5编码表

BIG5编码表

2015-11-04

屏幕示例NewsReader

android 官方的示例,屏幕示例NewsReader

2015-11-04

Android PreferenceFragment

PreferenceFragment的简单示例

2015-06-29

ActionBarSherlock官方版本

ActionBarSherlock官方版本

2015-05-01

SlidingMenu库+示例,官方版本

SlidingMenu库+示例,官方版本

2015-05-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除