自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(439)
  • 资源 (3)
  • 收藏
  • 关注

转载 iOS开发UI篇—UITabBarController简单介绍

文顶顶我对岁月俯首,对星辰致意iOS开发UI篇—UITabBarController简单介绍iOS开发UI篇—UITabBarController简单介绍一、简单介绍UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例

2016-03-22 21:04:12 254

转载 视图之UITabBarController结构详解(侧重于文档分析)

UITabBarController是IOS中很常用的一个viewController,例如系统的闹钟程序,ipod程序等。UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的container viewController中。  首先我们看一下它的view层级图:一、手动创建UITabBarController  最常见的

2016-03-22 21:02:46 267

转载 通过CAGradientLayer制作渐变色效果【原创】

看了极客学院的视频之后写的一篇博客,觉得不错,还是作为笔记使用。简单介绍一下CAGradientLayer吧。Gradient:本身就是梯度的意思,所以在这里就是作为渐变色来理解1,CAGradientLayer用于处理渐变色的层结构2,CAGradientLayer的渐变色可以做隐式动画3,大部分情况下,CAGradientLayer时和CAShapeLayer配合使用的。关

2016-03-19 14:54:33 320

转载 CAShapeLayer和CAGradientLayer

转自KooFrank's Blog 两个动画效果来了解一下CALayer的两个重要的subClass:CAGradientLayer和CAShapeLayer。微视录制视频的时候那个进度效果和Spark相机类似,但是个人还是比较喜欢Spark相机的录制的效果。 CAShapeLayer 我们做一个和Spark相机一样的圆形进度,每一段有一种颜色,标识不同时间段录的视频。

2016-03-19 14:51:40 300

转载 CAShapeLayer

之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识.普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般都与给定view的bounds值一致,它本身是有形状的,而且是矩形.CAShapeLayer在初始化时也需要给一个frame值,但是,它本身没有形状,它的形状来源于你给定的一个path,然后它去取CGPath值,它与CA

2016-03-19 10:17:14 253

转载 获取手机信息(UIDevice、NSBundle、NSLocale)

iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。UIDevice       UIDevice提供了多种属性、类函数及状态

2016-02-28 23:30:26 380

转载 NSValue

NSValue有时需要创建一些对象以密切反映原始数据类型或者数据结构,这种情况最有可能是你有历史数据或者第三方数据,而且需要把它们添加到集合中。有需要时,看看NSValue类。它可以将Objective-C中的任何有效的变量类型封装成值对象。假设你有一个遗留的系统,其中定义了一个叫Chockitude:的奇怪数据结构。typedef struct {      unsigned cha

2016-02-28 19:19:18 469

转载 Objective-C @encode关键字

Objective-C @encode关键字 1、如果你想知道NSNumber中具体的数据类型,那么@encode关键字就派上用场了。 使用@encode(aType) 可以返回该类型的C字符串,用const char *表示。比如 @encode(int) 返回的是 i;@encode(float) 返回的是 f。然后通过NSValue中的 objCType 方法返回的const c

2016-02-28 18:36:35 457

转载 类型编码 @encode

原文  http://swifter.tips/type-encode/ 主题 Objective-C Objective-C 中有一些很冷僻但是如果知道的话在特定情况下会很有用的关键字,比如说通过类型获取对应编码的 @encode就是其中之一。在 Objective-C 中 @encode使用起来很简单,通过传入一个类型,我们就可以获取代表这个类型的编码 C 字符

2016-02-28 18:35:47 442

转载 Objective-C @encode关键字

Objective-C @encode关键字版权声明:本文为博主原创文章,未经博主允许不得转载。最近一段时间比较忙,抽空看了一下设计模式(主要是看两本书,《大话设计模式》和《Objective-C编程之道:iOS设计模式解析》 );研究了一下3D数学和opengl,开始学习cocos2D,感觉时间总是很零散,很不够用,所以很久都没有写blog了。闲话少扯,言归正传。

2016-02-28 18:34:56 538

转载 CAShapeLayer

之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识.普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般都与给定view的bounds值一致,它本身是有形状的,而且是矩形.CAShapeLayer在初始化时也需要给一个frame值,但是,它本身没有形状,它的形状来源于你给定的一个path,然后它去取CGPath值,它与CA

2016-02-28 02:36:05 289

转载 Core Animation 基本动画效果汇总

前几篇文章中,我详细的说明了Core Animation相关的理论知识。这一节,我将举例说明基本动画的使用。一、 CABasicAnimation首先我创建一个用于实现动画的图层,代码如下:[objc] view plain copy - (void)viewDidLoad {      [super viewDidLoad];      CALayer *

2016-02-28 02:24:55 347

转载 【原】iOSCoreAnimation动画系列教程(二):CAKeyFrameAnimation【包会】

在上一篇专题文章【原】iOSCoreAnimation动画系列教程(一):CABasicAnimation【包会】中我们学习了iOS核心动画CoreAnimation中CABasicAnimation动画的使用方法。CABasicAnimation已经可以应付一些比较简单的应用场景了,比如view的平移出现、淡入淡出等。但是在有些情况下直线的运动并不能满足我们的需要,因此有必要学习进阶版的核心动画

2016-02-28 02:23:19 266

转载 CATransition 用法

CATransition的type属性        1.#define定义的常量        kCATransitionFade   交叉淡化过渡        kCATransitionMoveIn 新视图移到旧视图上面        kCATransitionPush   新视图把旧视图推出去        kCATransitionReveal 将旧视图移开,显示下面的新视图      

2016-02-28 02:16:41 567

转载 动画浅析-CAAnimation和CATransition

现在明白了,要做动画。需要用到CATransition类!那就学习一下吧!先贴一个入门代码![_imgPic setImage:image];// 设置新的图片                                   CATransition *animation = [CATransition animation];

2016-02-28 02:14:15 332

转载 CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)

博主:最近iOS开发中用到CoreAnimation的framework来做动画效果,虽然以前也用过,但一直没有系统学习过,今天看到一篇非常详细的博文(虽然是日语,但真的写的很好),在此翻译出来供大家学习。原帖地址:http://www.objectivec-iphone.com/animation/CoreAnimation/CABasicAnimation.html本文为博主翻

2016-02-28 01:43:34 547

转载 iOSCoreAnimation动画系列教程(一):CABasicAnimation

在iOS中,图形可分为以下几个层次:越上层,封装程度越高,动画实现越简洁越简单,但是自由度越低;反之亦然。本文着重介绍Core Animation层的基本动画实现方案。在iOS中,展示动画可以类比于显示生活中的“拍电影”。拍电影有三大要素:演员+剧本+开拍,概念类比如下:演员--->CALayer,规定电影的主角是谁剧本--->CAAnimation,规定电影该怎么演,怎么走

2016-02-28 01:33:49 351

转载 Core Animation 高级理论知识汇总

注:本节理论知识,通过学习文章 iOS-Core-Animation-Advanced-Techniques 总结所得。一、 基本概念Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Kit这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰山一角。Core Animation是一个

2016-02-27 21:16:51 577

转载 Core Animation 编程指南

本文是《Core Animation Programming Guide》2013-01-28更新版本的译文。本文略去了原文中关于OS X平台上Core Animation相关内容。因为原文的类型属于编程指南,所以示例代码并不多,更多的是理论层面的探讨。所以译文中加入了大量的示例代码,以提高本文的可操作性。希望本文能够对你有所帮助。本文由海水的味道翻译,转载请注明译者和出处,请勿用于商业用

2016-02-27 21:14:02 381

转载 详解 CALayer 和 UIView 的区别和联系

前言前面发了一篇iOS 面试的文章,在说到 UIView 和 CALayer 的区别和联系的时候,被喵神指出没有切中要点,所以这里就 CALayer 和 UIView 这个问题重新整理了下。这里会先分条解释,最后会在文章的结尾给出概括性总结。1.首先UIView可以响应事件,Layer不可以.UIKit使用UIResponder作为响应对象,来响应系统传递过来的事件并进行处理。UIAp

2016-02-26 15:58:59 328

转载 iPhone开发之UIView中的动画属性

areAnimationsEnabled返回一个布尔值表示动画是否结束。+ (BOOL)areAnimationsEnabled返回值如果动画结束返回YES,否则NO。 beginAnimations:context:开始一个动画块+ (void)beginAnimations:(NSString *)animationID context:(void *)cont

2016-02-25 14:28:21 304

转载 简述UIDatePicker的用法

1.Locale设置DatePicker的地区,即设置DatePicker显示的语言。1.跟踪所有可用的地区,取出想要的地区 NSLog(@"%@", [NSLocale availableLocaleIdentifiers]); 2. 设置日期选择控件的地区[datePicker setLocale:[[NSLocale alloc]initWit

2016-02-23 09:26:56 462

转载 UIView与CALayer的区别,很详细

研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘

2016-02-22 10:44:03 246

转载 Objective C类方法load和initialize的区别

过去两个星期里,为了完成一个工作,接触到了NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法,我们可以利用他们在类被使用前,做一些预处理工作。比如我碰到的就是让类自动将自身类名保存到一个N

2016-02-19 18:05:10 305

转载 NSObject的load和initialize方法

在Objective-C中,NSObject是根类,而NSObject.h的头文件中前两个方法就是load和initialize两个类方法,本篇文章就对这两个方法做下说明和整理。0. 概述Objective-C作为一门面向对象语言,有类和对象的概念。编译后,类相关的数据结构会保留在目标文件中,在运行时得到解析和使用。在应用程序运行起来的时候,类的信息会有加载和初始化过程。其实在Java

2016-02-19 18:00:10 273

转载 iOS开发的一些奇巧淫技

本文作者@叶孤城___,他结合自身的实践开发经验总结出了22个iOS开发的小技巧,以非常欢乐的语调轻松解决开发过程中所遇到的各种苦逼难题,光读着便已忍俊不禁。1.TableView不显示没内容的Cell怎么办?类似于图1,我不想让下面的那些空显示。很简单,添加“self.tableView.tableFooterView = [[UIView alloc] init];”试

2016-02-19 16:00:54 272

转载 stretchableImageWithLeftCapWidth 的使用

UIImage stretchableImageWithLeftCapWidth的使用一直比较迷惑,不明白,并且在开始的使用中总是失败,结合着网上的资料,经过多次实验,终于明白他的用处了, leftCapWidth ,是左侧需要保留的像素数,topCapHeight是顶部需要保留的像素数,然后中间的1像素用于中间的平铺,达到最后所需要的尺寸。效果相当于只能保持一边固定,拉伸另一边。 并且以前使用i

2016-02-19 15:37:10 1054

转载 UIView的clipsTobounds属性

原文  http://blog.csdn.net/jymn_chen/article/details/38095585 主题 UIView 之前一直都没有搞懂clipsTobounds属性的作用,前几天又遇到了这个属性,这次终于弄明白了。 首先看看UIView的clipsToubounds属性在SDK中的描述: @property (nonatomic) BOOL

2016-02-19 15:11:35 322

转载 NSObject常用方法 和 常用的一些类的反射

1.类的反射方法:[objc] view plain copy // 类的反射      NSString *str = @"Person";      Class class = NSClassFromString(str);            Person *person = [[class alloc] init];      NSLog(@"%@",

2016-02-15 12:12:14 835

转载 关于drawRect:方法apple官方文档的翻译

原文DiscussionThe default implementation of this method does nothing. Subclasses that use technologies such as Core Graphics and UIKit to draw their view’s content should override this method and

2016-02-13 03:50:48 448

转载 UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释

layoutSubviews总结ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeeds

2016-02-13 03:47:49 297

转载 UIView的layoutSubviews和drawRect方法何时调用

转自:http://jianyu996.blog.163.com/blog/static/112114555201305113018814/首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。layoutSubviews在以下情况下会被调用:1、init初始化不会触发layoutSubviews。2、addSubview会触发lay

2016-02-13 03:29:33 340

转载 CGRectGetMidX. CGRectGetMidY. CGRectOffset、CGRectOffset使用法解析

[objc] view plain copy 1. CGRectGetMidX表示得到一个frame中心点的X坐标,CGRectGetMidY表示得到一个frame中心点的Y坐标  imageView.center =CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));    2. CGRect

2016-02-11 06:50:51 436

原创 sendActionsForControlEvents

数据的更新是需要使用UIControl类的sendActionsForControlEvents:方法实现。它的功能是对于给定的空间发送消息,其语法形式如下:Swiftfunc sendActionsForControlEvents(_ controlEvents: UIControlEvents)Objective-C- (void)sendActio

2016-02-02 14:26:17 5410

转载 UISlider用法总结

UIslider滑块控件在IOS开发中会常用到,可用于调节音量,字体大小等UI方面的交互,用法总结如下:初始化一个滑块:?1 UISlider * slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];设置滑块位置@propert

2016-02-01 01:35:45 607

转载 iOS开发篇——UITextField

官方UITextField@interface UITextField : UIControl @property(nonatomic,copy) NSString *text; // 文本 default is nil@property(nonatomic,copy) NSAttributedStri

2016-02-01 01:33:25 523

转载 iOS UIProgressView控件用法

进度条控件是IOS开发中一个简单的系统控件,使用总结如下:初始化一个进度条:- (instancetype)initWithProgressViewStyle:(UIProgressViewStyle)style;注意:1.用这个方式初始化的进度条系统会默认给一个长度。         2.进度条的长度可以通过frame来设置,但是只有前三个参数有效。       

2016-02-01 01:32:15 447

转载 iOS开发学习之Quartz2D绘图

http://www.cnblogs.com/letougaozao/p/3672672.html主题 Quartz 2D C语言iOS开发Quartz2D的简介使用简介绘制图像坐标系的平移、旋转、缩放绘制文本绘制PDF文件一、Quartz2D的简介1⃣️Quart2D是CoreGraphic的一部分,基于C的API -图形的上下文(Graphics C

2016-02-01 01:00:58 319

转载 详细解析IOS中的CGContextAddArcToPoint方法的使用

CGContextAddArc方法较为好理解,都已经制定了原点坐标,半径,始末弧度,顺逆时针等数值了,弧线基本上都已经出来了而对于CGContextAddArcToPoint方法则有点不好理解。研究好一会才明白,特写下来以供后面查询首先当传入参数无法绘制弧线的时候(比如current point和start point还有end point都在一条直线上,那么根本无法绘制出圆弧),那么

2016-01-31 23:58:31 1322

转载 CGContextSaveGState与CGContextRestoreGState的作用

CGContextSaveGState与CGContextRestoreGState的作用使用Quartz时涉及到一个图形上下文,其中图形上下文中包含一个保存过的图形状态堆栈。在Quartz创建图形上下文时,该堆栈是空的。CGContextSaveGState函数的作用是将当前图形状态推入堆栈。之后,您对图形状态所做的修改会影响随后的描画操作,但不影响存储在堆栈中的拷贝。在修改

2016-01-31 21:47:59 329

Vue.js源码全方位深入解析

Vue.js源码全方位深入解析。面试和深入学习必备。⽬前社区有很多 Vue.js 的源码解析⽂章, 但是质量层次不⻬, 不够系统和全⾯, 这本电⼦书的⽬标是 全⽅位细致深度解析 Vue.js 的实现原理, 让同学们可以彻底掌握 Vue.js。 ⽬前分析的版本是 Vue.js 的最 新版本 Vue.js 2.5.17-beta.0, 并且之后会随着版本升级⽽做相应的更新, 充分发挥电⼦书的优势。

2019-01-28

现代操作系统

《现代操作系统》Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使《现代操作系统》成为操作系统领域的经典之作。

2013-03-21

空空如也

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

TA关注的人

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