自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 iOS 保持界面流畅的技巧(最全最详尽的了)

这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。演示项目在开始技术讨论前,你可以先下载我写的 Demo 跑到真机上体验一下:https://github.com/ibireme/YYKit。 Demo 里包含一个微博的 Feed 列表、发布视图,还包含一个 Twitter 的 F

2015-12-29 14:01:32 790

转载 说说objcRuntime的一些妙用(class_addMethod,class_replaceMethod)

版权声明:本文为博主原创文章,未经博主允许不得转载。前言:陈列一下今天要讲的知识点:class_addMethod,class_replaceMethod,method_getImplementation,object_getClass涉及到的知识》》使用category,通过Runtime实现用自己的函数调换掉原生函数》》oc的message forwar

2016-02-09 17:54:55 519

转载 Objective-C与JavaScript交互的那些事

最近公司的运营瞎搞了个活动,其活动要服务端提供数据支持,web前端在微信公众账号内作为主要的运营阵地,而iOS、Android要提供相应的入口及页面进行配合。一个活动,动用了各个端的程序猿。而在这里面技术方面主要就是涉及到web端和服务端的交互,web前端和iOS、Android的交互。本人作为一个iOS开发者,今天就聊聊web、iOS、Android三端的交互,其实在说明白一点就是方法的互相调用

2016-01-31 18:31:38 414

转载 iOS中edgesForExtendedLayout与automaticallyAdjustsScrollViewInsets

在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图

2016-01-31 18:01:30 372

原创 网络协议:TCP/IP、UDP、Http、Socket

简而言之:UDP:UDP是一种面向无连接的用户数据报服务(user data protocol),不需要和服务器也能交互,只需要知道ip和监听端口,不需要链接没有目的的socket,只是将数据报投递出去,不管接收方是否成功接收到,因此是一种不可靠的传输,可能会造成数据丢包,但由于这些特征,传输效率要优于TCP。例如QQ传输TCP:TCP是一种面向连接的传输控制协议(transfor

2016-01-25 14:30:15 732

翻译 RunLoop解析(视频+原版文字)

参考(抄袭)资料深入理解RunLoop,by @Ibireme孙源的线下分享视频低清在线,高清无码视频,Key Note 文件,by @Sunnyxx  (AV画质视频:传送门 高清画质视频:传送门)RunLoop 的苹果官方文档建议搭配以上资料辅助阅读RunLoop 是什么鬼首先,在一般情况下,代码的执行是线性的,执行完成之后就会退出返回:

2016-01-20 16:03:31 1486 1

转载 Quartz2D-drawRect方法绘制图片、文字

一、画文字代码: 1 // 2 // YYtextview.m 3 // 04-写文字 4 // 5 // Created by 孔医己 on 14-6-10. 6 // Copyright (c) 2014年 itcast. All rights reserved. 7 // 8 9 #import "YYtextview.h"10 11 @im

2016-01-18 11:53:34 511

转载 Fundation快速框架搜索

Fundation快速框架搜索基本上包含了Foudation框架内的所有函数和方法。使用方法:全选,自己建一个文本类的文件,如果要使用某个方法却想不起来方法名,直接在文本中搜索关键字即可。  2.1 算术运算函数   2.1.1 rand()函数:产生随机数   2.1.2 abs()函数/labs()函数:整数的绝对值   

2016-01-17 16:54:26 472

转载 iOS 字符属性NSAttributedString描述

/* 字符属性  字符属性可以应用于 attributed string 的文本中。  NSString *const NSFontAttributeName;(字体)  NSString *const NSParagraphStyleAttributeName;(段落)  NSString *const NSForegrou

2016-01-14 16:03:36 300

转载 CALayer 以及时间模型

转自http://geeklu.com/2012/09/animation-in-ios/二.CALayer及时间模型我们都知道UIView是MVC中的View.UIView的职责在于界面的显示和界面事件的处理.每一个View的背后都有一个layer(可以通过view.layer进行访问),layer是用于界面显示的.CALayer属于QuartzCore框架,非常重要,但并没有想象中

2016-01-13 12:52:10 532

转载 深入理解RunLoop

RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。RunLoop 的概念一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让

2015-12-29 15:31:59 401

转载 Quartz2D——自定义圆形进度条

之前做项目的时候有用到环形进度条,先是在网上找了一下第三方控件,发现好用是好用,就是东西太多了,有点复杂,还不如自己写一个简单点适合自己用的。先把自定义控件的效果图贴出来。      其实我写的这个控件很简单。索性就直接把源码贴出来吧。.h文件的内容就是一些声明[objc] view plaincopy#i

2015-12-26 15:22:30 531

转载 Quartz2D——CGContext小记

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

2015-12-26 14:57:24 367

转载 TableView性能优化——动态cell适应工具(UITableView+FDTemplateLayoutCell)

———————前前言————————————————————本文会主要阐述主流的cell高度返回方式、并以原文为框架进行了一些扩展补充。文章最后、列出了UITableView+FDTemplateLayoutCell工具的使用、介绍以及实现。so、如果你只需要UITableView+FDTemplateLayoutCell工具、请移步最下方阅读。此外、文中所使用的Self Sizing

2015-12-25 17:50:39 686

转载 UITableView - beginUpdates和endUpdates方法

1. beginUpdates方法和endUpdates方法是什么呢?这两个方法,是配合起来使用的,标记了一个tableView的动画块。分别代表动画的开始开始和结束。两者成对出现,可以嵌套使用。一般,在添加,删除,选择 tableView中使用,并实现动画效果。在动画块内,不建议使用reloadData方法,如果使用,会影响动画。如果我们的UITableV

2015-12-25 16:23:31 906

转载 UITableview性能优化总结—图片加载、行高返回

UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时。本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文将持续更新,力求将tableview的优化做到极致!Let`s begin!治病就要先知道病因,我们先来分析一下影响tableview滚动性能的因素有哪些:

2015-12-24 22:37:07 402

转载 关于XIB/NIB/storyboard以及相关

——首先、关于xib和nib————————————————————————————————————————————————————————————————————————————————————————————————nib 是NeXT Interface Builder的缩写。xib 是 xml nib 文件,于2007年 Leopard (and Xcode 3.0) 版本中

2015-12-24 16:22:12 496

转载 UIView的drawRect: 和 - (void)setNeedsDisplay 的一些理解

在UIView中,1、自定义画图,类似android的onDraw()- (void)drawRect:(CGRect)rect; is invoked automaticall,never call it directly!!2、刷新视图,类似android的invalidate()- (void)setNeedsDisplay;When a view

2015-12-24 15:27:59 409

转载 Objective-C中的属性和实例变量

首先、引用一篇关于@property与@synthesize的老文。交代一下这两个属性的由来、便于下文理解——————————————————————————————————————    当你定义了一系列的变量时,需要写很多的getter和setter方法,而且它们的形式都是差不多的,,所以Xcode提供了@property和@synthesize属性,@property用在 .

2015-12-22 23:23:06 467

翻译 类别(Categories)和扩展/匿名类别(extensions)及其延伸使用

类别(Category) 分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。 此外,类别能够保证你的实现类和其他的文件区分开。 1 #import “UIViewController.h”2 @interface UIViewController(CustomView)3 -(void)extMethod;4 @end

2015-12-22 21:40:02 517

转载 OAuth协议授权

其实我们在开发中,经常需要解决获得用户的一些特定的数据,比如:可以选择使用微博登陆,使用QQ登陆等等,然后我们间接的获得用户的头像,昵称等信息。这些都涉及到OAuth授权的内容OAuth授权有这么几个特点: OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准OAuth 的授权不会使第三方触及到用户的帐号信息OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们存放

2015-12-22 19:15:18 336

转载 如何优化UITableView性能—draw方式

在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。实际上只要针对性

2015-12-22 19:13:37 438

转载 iOS中的事件传递和响应者链条

首先我们来看看iOS中事件的产生和传递过程:1.发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的队列事件中2.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常会先发送事件给应用程序的主窗口(keyWindow)3.主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件4.找到合适的视图控件后,就会

2015-12-22 19:09:55 403

转载 掌握设计模式

为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置;而自己将代码改了又改,删了又建,几乎晕厥,最后只能推翻重来。为什么大牛写完的程序测试上线后,几乎完美运行,用户无懈可击;而自己的程序bug重重,改好一个却又引出另一个,按下葫芦浮起瓢,几近崩溃。

2015-12-17 19:28:23 316

转载 Objective-C中的内存管理

在编程语言中是少不了对内存的管理的,内存对于计算机来说是宝贵的资源,所以对使用不到的资源进行回收是很有必要的。OC中使用引用计数和垃圾回收来管理内存,在OC中为每个对象分配一个引用计数器,当对象刚刚被创建时其初始值为1,当有某段代码需要访问一个对象是时,会将该对象的引用计数器加1(通过retain来实现);当访问一个对象结束时,会将该对象的引用计数器减1(通过release来实现);当计数器为0时

2015-12-17 19:27:43 286

转载 UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc                                   创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

2015-12-16 21:17:36 285

转载 iOS开发UI篇—核心动画(基础动画)

一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue如果fillMode=kCAFillModeForwards和re

2015-12-16 21:16:29 344

转载 iOS开发UI篇—Quartz2D使用(绘图路径)

一、绘图路径A.简单说明在画线的时候,方法的内部默认创建一个path。它把路径都放到了path里面去。1.创建路径  cgmutablepathref 调用该方法相当于创建了一个路径,这个路径用来保存绘图信息。2.把绘图信息添加到路径里边。以前的方法是点的位置添加到ctx(图形上下文信息)中,ctx 默认会在内部创建一个path用来保存绘图信息。在图

2015-12-16 21:13:21 321

空空如也

空空如也

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

TA关注的人

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