自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 ios 滤镜

首先需要了解一下滤镜的原理:“用Core Graphic的API,把图片解析成RGBA四通道的位图放入内存,然后内存中有一个数组,数组中的每四个元素都是图像上的一个像素点的RGBA的数值(0-255),你只要改变RGB的数值,再写回去重新生成就可以了。简单的变化RGB很好改的,变为黑白照片就是把每个像素点的RGB的值相加求平均值,再回写回去。例如:R=B=G=100,就是灰色的,你只要写个for循

2016-08-12 12:24:55 529

转载 WWDC2014之App Extensions学习笔记

一、关于App Extensionsextension是iOS8新开放的一种对几个固定系统区域的扩展机制,它可以在一定程度上弥补iOS的沙盒机制对应用间通信的限制。extension的出现,为用户提供了在其它应用中使用我们应用提供的服务的便捷方式,比如用户可以在Today的widgets中查看应用展示的简略信息,而不用再进到我们的应用中,这将是一种全新的用户体验;但是,extens

2016-03-11 10:40:51 637

转载 iOS开关-UISwitch

正如分段控件代替了单选按钮,开关也代替了点选框。开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化。一、创建[java] view plain copy print?UISwitch* mySwitch = [[ UISwitch alloc]initWithFrame:CGRectMake(200.0,10.0,0.

2016-02-29 16:55:21 472

转载 iOS常用全局宏

[objc] view plain copy#define LOGOPEN 1  #define VC_LOGOPEN 1  #define DB_BLOCK_LOG  #define NET_BLOCK_LOG 1        #pragma mark ---log  flag     #define LogFrame(fra

2016-02-21 16:13:58 389

转载 Error: linker command failed with exit code 1 (use -v to see invocation)

像这样的一大堆,总体说编译链接时错误/Users/zhangtianjian/Library/Developer/Xcode/DerivedData/ClothingOrders-bcmqkcjsfgyibbgetgiyczzqcerj/Build/Products/Debug-iphonesimulator/ClothingOrders.app/ClothingOrders no

2016-02-19 17:08:53 488

转载 iOS 自定义TabBarController

一、自定义的思路iOS中的TabBarController确实已经很强大了,大部分主流iOS应用都会采用。但是往往也不能满足全部的需求,因此需要自定义TabBar,自定义需要对系统的TabBar工作方式有很好的理解,自定义需要勇气。自定义TabBar的原则:尽量利用系统自带TabBar,只改需要改的地方。二、自定义TabBar的总体过程1.先把自

2016-02-02 09:37:40 372

转载 UITextInput 协议参考

UITextInput协议参考符合UIKeyInput 骨架/系统/库/框架/ UIKit.framework可用性在iOS 3.2及更高版本。同伴指南文本,网页和编辑编程指南适用于iOS 中声明UI

2016-02-01 17:53:47 854

原创 UIView之setNeedsDisplay和setNeedsLayout

1,UIView的setNeedsDisplay和setNeedsLayout方法  首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到  UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews, 就可以  处理子视图中的一些数据。综

2016-01-28 17:55:39 429

转载 iOS输入法开发(Swift)

我会复习一下有关键盘扩展的内容,然后通过使用iOS 8中的新应用扩展API的设计一个摩斯码的输入法。完成这个教程大约需要花费20分钟。完整代码 概览通过使用自定义输入法替换系统输入法,用户可以实现一些特别的功能。例如一个特别新颖的输入方式,或输入iOS原生并不支持的语言。自定义输入法的基本功能很简单:通过点击、手势,或者其他输入事件,然后通过一个未分类的 NSString

2016-01-26 10:38:31 4398 1

转载 Xcode测试

关于Xcode测试 Xcode为你提供了丰富的软件测试功能。测试可增强工程的稳定性,减少bug,从而加快产品的分发和销售。一个测试良好的应用可提升用户的满意度。测试也可以帮你加快应用的开发,进一步说可让你少浪费精力和时间,并且可帮助协调多人开发。 概览在本文档中,你将会学习如何使用Xcode 5的测试功能。XCTest替代OCUnit成为Xcode 5中新的测试框架

2016-01-14 10:08:34 630

转载 支付宝支付

下载首先,你要想找到这个SDK,都得费点功夫。现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 “请点此下载集成开发包”Baidu和Googlep排在前面的支付宝开放平台,里面的SDK已经是2年前的版本了,而且还不支持64位架构。文档压缩包里有两个相关文档 :《支付宝钱包支付接口开发包2.0标准版.pdf》《支付宝钱包支付接口开发包2.0

2016-01-09 20:15:05 630

转载 刨根问底Objective-C Runtime(唐巧)

前言关于Objective-C Runtime一篇好的文档 : Understanding the Objective-C Runtime译文地址为: http://blog.cocoabit.com/blog/2014/10/06/yi-li-jieobjective-cruntime/Objective-C Runtime源码是开源的,下载地址为: http://ope

2016-01-08 11:51:35 4507

转载 OC的Runtime(运行时)机制的解析

Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题。当然还有一些其他问题也几乎必问,例如:RunLoop,Block,内存管理等。其他的问题如果有机会我会在其他文章中介绍。本篇文章主要介绍RunTime。RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言

2015-12-28 22:03:10 483

转载 HTTP Live Streaming直播(iOS直播)技术分析与实现

前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSLiveEncoder,当然,C++写的。其功能是采集摄像头与麦克风,实时进行H.264视频编码和AAC音频编码,并按照HLS的协议规范,生成分段的标准TS文件以及m3u8索引文件。通过我的HLSLiveEncoder和第三方Http服务器(例如:Nginx),成功实现了H

2015-12-28 21:24:59 560

转载 TCP/IP、Http的区别

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己

2015-12-28 20:41:16 285

原创 iOS图文混排的简易实现

在很多新闻类或有文字展示的应用中现在都会出现图文混排的界面例如网易新闻等,乍一看去相似一个网页,其实这样效果并非由UIWebView 加载网页实现。现在分享一种比较简单的实现方式iOS sdk中为我们提供了一套完善的文字排版开发组件:CoreText。CoreText库中提供了很多的工具来对文本进行操作,例如CTFont、CTLine、CTFrame等。利用

2015-12-23 23:29:48 492

转载 面向对象和面向过程的区别以及优缺点

面向过程   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。   缺点:没有面向对象易维护、易复用、易扩展   面向对象   优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 

2015-12-22 22:58:32 36309 1

原创 C与OC的区别和联系

C语言的特点:1)C语言是结构化语言,层次清晰,调试和维护比较容易2)表现能力和处理能力比较强,可直接访问内存的物理地址3)c语言实现对硬件的编辑,c语言课用语系统软件的开发,也可用语应用软件的开发,是集高级语言和低级语言的功能一体。4)C语言效率高,可移植性强。C++语言特点:1、在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向

2015-12-22 22:57:25 1323

转载 iOS开发-设计模式

(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate(二)观察者模式应用场景:一般为model层对,controller和view进

2015-12-22 22:51:44 337

原创 OC中堆和栈的区别

栈与堆都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是

2015-12-22 22:45:14 2138

原创 单例的实现与使用

单例是指静态分配的实例,而 iphone sdk 中全是这种实例,例如[UIApplication sharedApplication] 返回一个指向代表应用程序的单例对象的指针。[UIDevice currentDevice] 获取一个代表所有使用硬件平台的对象。将类方法与单例相结合,便可以在程序的任何地方访问静态实例,而无需使用指向对象的指针或保存它的实例变量。创建类的唯一实例

2015-12-19 12:59:43 321

原创 Core Data的使用

Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂。Core Data 相关的类比较多,初学者往往不太容易弄懂。计划用三个教程来讲解这一部分:框架详解:讲解  Core data 框架,运作过程,设计的类;Core data应用程序示例:通过生成一个使用 Core data 的应用程序来讲解如何 在  XCode 4 中使用 Core

2015-12-17 19:12:58 287

转载 Swift2.0语法更新(3)

6.Optional Patternlet someOptional: Int? = 42if case .Some(let x) = someOptional {    print(x)}if case let x? = someOptional {    print(x)}if  let x

2015-12-15 12:52:07 456

转载 Swift2.0语法更新(2)

2.Checking API AvailabilitySwift有内置的API可用性检查,它保证了你不会误用在当前系统上不支持的API,如果你使用了则会在运行时报错,你可以使用#available 配合if 或guard 来实现。if #available (iOS 9, OSX 10.10, *) {    // Use iOS 9 APIs on

2015-12-15 12:50:53 353

转载 Swift2.0语法更新(1)

1. Error Handling在Swift中,用满足ErrorType协议类型来表示Error。enum VendingMachingError: ErrorType {   case InvalidSelection   case InsufficientFunds(required: Double)   case OutO

2015-12-15 12:49:05 289

转载 Autorelease 浅析

本篇将给您介绍”Autorelease Pools”(自动释放池)在应用中的使用技巧。1,Autorelease Pools概要一个”Autorelease Pool”实例中“包含”其它各种调用了”autorelease”方法的对象。当它释放时,其中所有被管理对象都会收到”relrease”的消信。注意,同一个对象可以被多次调用”autorelease”方法,并可以放到同一个”Au

2015-12-08 23:09:38 301

转载 iOS视频拍摄与压缩

最近在学习使用iOS自带的API进行视频压缩,所以就从视频拍摄开始学起,因为曾经想直接对已有视频进行压缩,无奈总是失败,经研究发现不可以直接调用PC中的视频文件进行压缩,否则直接AVAssetExportSessionStatusFailed。所以只可以用真机测试并调用不iPhone中的视频。废话不多说,上代码:使用UIImagePickerController即可完成视频的拍摄,并存入自

2015-12-08 23:04:53 541

原创 自定义划线方法

#import "DrawLine.h"@implementation DrawLine+ (void)drawCenter:(UIImageView *)imageView withBeginX:(CGFloat)Bx withBeginY:(CGFloat)By withEndX:(CGFloat)Ex withEndY:(CGFloat)Ey withLine

2015-12-06 21:24:55 385

转载 iOS多态性 动态绑定 与动态类型

1. 多态性多态性是个生物名词,用来表示生物体在生命周期中的不同形态,用在编程语言中则表示相同的方法名,但是却有不同的实现方式。或者说相同的名字,不同的类。我们来看一个书上的示例:#import //定义类 A@interface A : NSObject-(void)print@end@implementation-(void)print{ NSLog(@"th

2015-12-04 20:45:57 1774

转载 音频

iOS 音频的播放器使用到AVFoundation框架其中包含三种主要的类  (1 AVAudioPlayer   (2 AVAudioRecorder  (3  AVAudioSession  主要用途  音频的 播放, 录制  和 配置  而且都有相对应的  delegate  协议  支持的 格式有caf/m4a/mp3/aif/wav/au/snd/aac.能够提供

2015-12-03 22:25:26 667

原创 视频(初)

iOS 播放视频使用MediaPlayer.framework中的MPMoviePlayerController类完成,这个支持本地播放和网络播放。MPMoviePlayerController消息是通过通知中心来交换的。MPMoviePlayerController除了一般的视频播放和控制外还有一些强大的功能,例如截取视频缩略图。请求视频缩略图时只要调用- (void)reque

2015-12-03 21:30:54 340

转载 iOS GCD

一、GCD是异步执行任务的技术之一,一般将应用程序中记叙的线程管理用的代码在系统级中是实现。开发者只需要定义想要执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。 二、多线程编程由于使用多线程的程序可以在某个线程和其他线程之间反复多次进行上下文切换,因此看上去就好像一个CPU核能够并行的执行多个线程一样,而且在具有多

2015-12-02 23:50:54 267

转载 多线程

1、三种多线程技术的对比                          •NSThread:–优点:NSThread 比其他两个轻量级,使用简单–缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销 •NSOperation:–不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上–NSOperation是面向对象的 

2015-12-02 23:48:27 248

原创 耳机监听状态

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(outputDeviceChanged:) name:AVAudioSessionRouteChangeNotification object:[AVAudioSession sharedInstance]];- (void)outputD

2015-12-02 23:42:53 468

原创 WebView

- (void)webViewDidFinishLoad:(UIWebView *)webView {#pragma mark -- 修改webview图片大小    // 拦截网页图片,并修改图片大小    [webView stringByEvaluatingJavaScriptFromString:     @"var script = document.create

2015-12-01 21:48:47 259

原创 Socket

网络模型OSI参考模型  ------  开放系统互联参考模型目的: 实现全球电脑互联OSI参考模型,共7层  --------- 物理层.数据链路层,网络层,传输层,会话层,表示层,应用层物理层 : 转成0101的二进制通过物理层电流数据链路层 : 网卡 . 交换器网络层 : 所谓的路由器 ip传输层 : 最核心

2015-12-01 21:39:40 530

空空如也

空空如也

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

TA关注的人

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