自定义博客皮肤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 技术支持

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

原创 Runtime的实践——方法交换

读过《Runtime的初步认识——结构体与类》的小伙伴们应该对objc_class结构体的构造有所了解了struct objc_class { Class isa OBJC_ISA_AVAILABILITY;#if !__OBJC2__ Class super_class OBJC2_UNAVAILAB

2016-05-12 13:05:05 3909

原创 Runtime的实践——给一个类添加属性(关联对象)

相关文章: 《Runtime的初步认识——结构体与类》 《Runtime的初步认识——消息机制》一提到给一个类添加点什么,我们有可能首先就想到类别(Category)。那么我们就弄一下。利用 Category 给现有的类添加属性比如我们要给一个 NSArray 添加一个属性叫做NSString *name。我们首先新建一个Objective-C文件。File: NameFile Type:Cat

2016-05-11 09:33:55 3948 8

原创 Runtime的初步认识——消息机制

之前写过一篇《Runtime的初步认识》,读过的小伙伴们应该对OC中的类与C中的结构体的关系有了一定的了解。这篇文章就先介绍一下OC中的方法是如何“调用”的。这就是OC的另一个机制——消息机制。OC 的消息机制是指,在外部需要执行某个对象的方法时,使用的方式是“发送消息”而不是“调用”。在学 Runtime 之前你绝对不理解为什么是发送消息而不是调用。“调用”时确定的,而最终要执行哪段代码是不确定

2016-05-09 11:42:00 1892

原创 Runtime的初步认识——结构体与类

Runtime的初步认识Runtime的初步认识Runtime介绍类与结构体的关系结构体解析结构体的作用纠正Runtime介绍学习一个东西至少要先知道它是个啥,你一定听说过“运行时是 Objective-C 的一个特色”,这里的“运行时”就是指 runtime 了。runtime是在自 iOS 平台开放并基于 Objective-C 语言开发后的一个编程语言上的高级技术。学习runtime

2016-05-08 12:33:55 2498

原创 超全!整理常用的iOS第三方资源

一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地址:https://github.com/topfu

2016-01-27 08:46:40 9308 1

原创 iOS客户端技术支持

iOS客户端技术支持如果您在使用过程中出现什么问题,请直接在本帖回复并留下联系方式,我们会及时与您联系,帮助您解决APP在使用中出现的各种问题。

2017-09-20 19:39:32 716 2

原创 iOS客户端技术支持

影视iOS客户端技术支持专题如果您在使用过程中出现什么问题,请直接在本帖回复并留下联系方式,我们会及时与您联系,帮助您解决问题。

2017-03-06 09:12:22 3599

原创 点击ImageView放大到全屏

ImageZoomView.h@interface ImageZoomView : UIImageView { CGRect initFrame;}/** * 添加imageView点击放大功能 * * @param imageView 图片视图对象 */+ (void)zoomImageWhenTap:(UIImageView *)imageView;@endImag

2016-08-24 09:21:30 4286

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-06-15 03:27:36 504

原创 test

测试博客

2016-05-08 12:56:27 479

转载 iOS网络缓存扫盲篇

iOS网络缓存扫盲篇–使用两行代码就能完成80%的缓存需求下篇预告:使用80%的代码来完成剩下的20%的缓存需求 。敬请 star (右上角)持续关注。目录当我们在谈论缓存的时候,我们在谈论什么? GET网络请求缓存 80%的缓存需求:两行代码就可满足 控制缓存的有效性 文件缓存:借助ETag或Last-Modified判断文件缓存是否有效 Last-Modified ETag

2016-04-01 13:55:52 6156

原创 侧滑抽屉MMDrawerController自定义侧滑手势

侧滑抽屉 https://github.com/mutualmobile/MMDrawerController#features 这个是github上的一个开源侧滑框架,拥有自定义侧滑手势功能。但官方的文档只介绍了如何使用。没介绍如何自定义手势。使用MMDrawerController来实现菜单滑动效果。要求是每个一级页面是可以滑动的,二级页面是不允许滑动的。那就需要自定义侧滑手势了。// 自定

2016-04-01 10:51:00 1724

原创 note

侧滑抽屉https://github.com/mutualmobile/MMDrawerController#features全屏pop手势https://github.com/forkingdog/FDFullscreenPopGesture

2016-03-10 17:31:35 744

转载 apps被拒绝的各种理由以及翻译

1. Terms and conditions(法律与条款)1.1 As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), and

2016-02-20 17:28:32 1560

转载 iOS中的触摸事件

iOS中的事件:在用户使用app过程中,会产生各种各样的事件。iOS中的事件可以分为3大类型:  view的触摸事件处理:响应者对象:在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”。UIApplication、UIViewController、UIView都继承自UIRespon

2016-01-30 12:44:52 598

原创 iOS清除缓存(OC实现)

//清除缓存按钮的点击事件- (void)putBufferBtnClicked:(UIButton *)btn{ CGFloat size = [self folderSizeAtPath:NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject] + [sel

2016-01-30 12:11:17 10023 6

转载 iOS 字符属性NSAttributedString描述

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

2016-01-30 12:02:33 562

转载 Obj-C与javascript交互之WebViewJavascriptBridge

webview与js交互方式,调用js方法要在Obj-C中写js代码,这种方式非常臃肿,耦合性强。 WebViewJavascriptBridge框架就完美解决了webview的这缺点。    WebViewJavascriptBridge的原理也是通过webview的stringByEvaluatingJavaScriptFromString:方法调用JavaScript代码;JavaS

2016-01-27 22:24:53 566

转载 详解苹果的黑魔法 - KVO 的奥秘

前言在iOS开发中,苹果提供了许多机制给我们进行回调。KVO(key-value-observing)是一种十分有趣的回调机制,在某个对象注册监听者后,在被监听的对象发生改变时,对象会发送一个通知给监听者,以便监听者执行回调操作。最常见的KVO运用是监听scrollView的contentOffset属性,来完成用户滚动时动态改变某些控件的属性实现效果,包括渐变导航栏、下拉刷新

2016-01-27 22:13:48 555

原创 说说objcRuntime的一些妙用(class_addMethod,class_replaceMethod)

前言:陈列一下今天要讲的知识点:class_addMethod,class_replaceMethod,method_getImplementation,object_getClass涉及到的知识》》使用category,通过Runtime实现用自己的函数调换掉原生函数》》oc的message forwarding》》使用Runtime为类添加原来没有的方法

2016-01-27 22:06:57 2386

转载 iOS与JS交互实战篇(ObjC版)

前言ObjectiveC与Js交互是常见的需求,可对于新手或者所谓的高手而言,其实并不是那么简单明了。这里只介绍iOS7.0后出来的JavaScriptCore framework。关于JavaScriptCore本教程中所涉及到的几种类型:JSContext, JSContext是代表JS的执行环境,通过-evaluateScript:方法就可以执行一JS代码

2016-01-27 22:02:01 1844

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

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

2016-01-27 22:00:10 1018 1

转载 网络协议:TCP/IP、UDP、Http、Socket

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

2016-01-26 12:20:07 969

原创 iOS中edgesForExtendedLayout与automaticallyAdjustsScrollViewInsets

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

2016-01-26 12:16:02 617

转载 IOS导航栏颜色渐变与常用属性(最近应用比较流行的风格)

导航栏背景色设置:self.navigationController.navigationBar.barTintColor = [UIColor greenColor];导航栏标题颜色字体大小 NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; attrs[NSForegroundColor

2016-01-19 10:32:39 1377

转载 iOS 简单的使用UIBezierPath绘制

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

2015-12-31 13:25:43 961

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

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

2015-12-29 16:43:36 2131

转载 深入理解RunLoop

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

2015-12-28 15:58:27 525

转载 Quartz2D——CGContext小记

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

2015-12-27 16:31:41 365

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

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

2015-12-23 15:09:39 552

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

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

2015-12-23 15:07:38 786

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

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

2015-12-23 15:03:26 390

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

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

2015-12-23 12:19:25 475

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

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

2015-12-23 12:13:21 1617

转载 iPhone OpenGL ES 2.0 教程

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

2015-12-23 11:24:54 771

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

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

2015-12-22 16:00:58 696

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

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

2015-12-22 15:54:08 768

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

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

2015-12-22 14:50:28 790

转载 自定义圆形进度条

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

2015-12-22 08:45:31 625

原创 OAuth协议授权

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

2015-12-19 11:42:29 559

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

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

2016-01-30

空空如也

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

TA关注的人

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