自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iOS 技术支持

iOS 技术支持

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

转载 iOS 简单的使用UIBezierPath绘制

UIBezierPath这个类呢主要用于绘图。 之前的项目中需要绘图的部分都是用Core Graphics来绘制,OC是我的第一门语言,所以对于Core Graphics的C语言API不太适应,最近发现原来苹果的UIKit中已经对Core Graphics做了一些简单的封装,UIBezierPath就是其中一个。UIBezierPath已经完全满足了我对绘图的一些基本要求。UIBezi

2015-12-31 13:25:43 986

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

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

2015-12-29 16:43:36 2154

转载 深入理解RunLoop

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

2015-12-28 15:58:27 564

转载 Quartz2D——CGContext小记

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

2015-12-27 16:31:41 403

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

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

2015-12-23 15:09:39 620

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

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

2015-12-23 15:07:38 809

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

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

2015-12-23 15:03:26 404

转载 TCP三次握手的正确使用姿势

TCP三次握手的正确使用姿势章节目录背景问题方案结局背景和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。从好上开始,到现在,一年多也算坚持下来了。问题有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。中间双方可能就要不断的确认网络是否恢复

2015-12-23 12:19:25 498

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

这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index演示项目屏幕显示图像的原理卡顿产生的原因和解决方案CPU 资源消耗原因和解决方案GPU 资源消耗原因和解决方案AsyncDisplayKitASDK 的由来ASDK 的资料ASDK

2015-12-23 12:13:21 1673

转载 iPhone OpenGL ES 2.0 教程

OpenGLES 是一个低级别的API 让你用来编写2D和3D图像在iPhone上。如果你使用另一些像Cocos2D,Sparrow,Corona 或者 Unity 框架,他们都是建立在OpenGL顶层。有一个原因为什么程序员喜欢使用这些上层框架比直接使用OpengGL,是因为OpengGL是出了名的难学。这个教程是为了使开始学习OpenGL的程序员有一个平缓的曲线。在这个系列中,你将掌握

2015-12-23 11:24:54 805

翻译 在Xcode中使用Git进行源码版本控制

本文翻译自Understanding Git Source Control in Xcode在应用程序开发过程中,很重要的一部分工作就是如何进行源码的版本控制。当代码出现问题时,我们就需要将代码恢复到原先正常的版本。如果是多个人共同开发一个项目,那么代码的控制就会非常复杂。幸运的是,开发者不需要自己控制这些,因为有专门的软件来负责,叫做版本控制系统。版本控制系统,或者说修改控制

2015-12-22 16:00:58 726

翻译 AutoLayout神话:Table View的性能和iPad分屏多任务功能

随着iPhone和iPad水平方向上多任务处理需求的强烈,iOS应用程序设计与开发人员在构建他们的应用程序时可能会面临新的挑战。而AutoLayout的引入使得许多人开始将其视为解决上述问题的头号帮手。这篇文章将为你揭开它的神秘面纱,或者更确切地说,让你了解到AutoLayout解决问题的局限性。多种布局为了弄清楚这篇文章的目的,我们假设你是一位iOS app开发者,你正在规划一款

2015-12-22 15:54:08 796

转载 快速搭建一个成熟,强壮的App框架

一个App,何为优秀?产品本身是一个维度,另外一个维度,我想应该是技术层面。App的框架,如大楼之根基,好的框架对于开发,拓展和维护可以起到事半功倍的效果,其重要性不言而喻。今天分享一下自己在搭建框架时的经验,希望大家多提意见,一起进步成长。以下是常见的APP框架结构,此Project中包括自定义的UITabbar、Json反序列化、网络请求异步加载、自适应cell高度以及圆角图片

2015-12-22 14:50:28 814

转载 自定义圆形进度条

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

2015-12-22 08:45:31 651

原创 OAuth协议授权

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

2015-12-19 11:42:29 578

转载 tableView继续优化。

提高表视图的性能UITableView作为应用中最常用的视图,它的性能优化问题几乎是经常提及。下面对在非网络访问情况下的表视图性能优化进行了主要的几点说明:1.自定义类或XIB文件时在系统提供的样式不能满足我们的时候,我们经常会创建自定义类或者XIB文件来自定义单元格样式。在之前,我们通常通过loadNib的方式或者在代理方法中继续使用老的方法来设置重用,管

2015-12-17 19:54:47 458

原创 如何优化UITableView性能

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

2015-12-17 19:31:50 563

原创 十大编程算法助程序员走上高手之路

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and con

2015-12-15 23:44:36 529

原创 掌握设计模式

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

2015-12-15 23:40:00 483

原创 Objective-C中的内存管理

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

2015-12-15 23:25:39 506

原创 彻底弄懂最短路径问题

一.问题引入        问题:从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径——最短路径。解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法,另外还有著名的启发式搜索算法A*,不过A*准备单独出一篇,其中Floyd算法可以求解任意两点间的最短路径的长度。笔者认为任意一个最短路算法都是基于这样一个事实:

2015-12-15 22:46:12 1172

原创 UIViewController的生命周期及iOS程序执行顺序

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

2015-12-14 23:11:11 573

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

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

2015-12-14 23:00:40 553

原创 iOS开发UI篇—Quartz2D使用(绘图路径)

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

2015-12-14 22:44:11 647

SimPholders2 mac(简单快捷显示沙盒文件)

SimPholders 2 mac可让你快速直接地访问iPhone模拟器应用的app文档。你可以通过SimPholders 2 mac找到数据库文件、永久存储以及缓存,它是一个非常实用的app debug工具,同时还可以离线使用,使用起来非常的方便简单,很实用。

2016-01-30

空空如也

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

TA关注的人

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