自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

转载 iOS VoiceOver编程指南

前言VoiceOver是苹果“读屏”技术的名称,属于辅助功能的一部分。VoiceOver可以读出屏幕上的信息,以帮助盲人进行人机交互。 这项技术在苹果的各个系统中都可以看到,OS X,iOS,watchOS,甚至tvOS。 苹果公司的VoiceOver在2015年6月18日获得了美国盲人基金会(American Foundation for the Blind, AFB)颁发的海伦凯勒成就

2016-06-30 14:42:16 592

转载 [转]借助VoiceOver来破解优秀App的实现方式

为了开发出更好的iOS App,我们经常会去破解(我更喜欢叫Hack)优秀的App的实现方式,一般我们做的无非就是拆了ipa包浏览一下App所用到的图片资源,找个抓包工具看看都访问了那些网络资源,更虎点的就是去反编译,当然最基础的就是把玩一下各个功能,凭经验看出实现方法。今天就介绍一个比较另类的Hack方式——VoiceOver,估计大部分人都没在自己的iOS设备上打开过这个功能,我就简单

2016-06-30 14:29:00 609

转载 深入理解 KVC\KVO 实现机制 — KVC

KVC和KVO都属于键值编程而且底层实现机制都是isa-swizzing,所以本来想放在一起讲的。但是篇幅有限所以就分成了两篇博文 KVO实现机制传送门KVC概述KVC是Key Value Coding的简称。它是一种可以通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。关键方法定义在 NSKeyValueCodingProtocolK

2016-06-28 20:14:10 565

转载 MRC到ARC的自动转换

目录(?)[-]1 自动转换之后的故事2 手动转换1                   dealloc2                   去掉各种release和autorelease3                   讨论一下Property4                   自由桥接的细节5                   终于搞定了写在最

2016-06-22 17:55:45 1604

转载 手动内存管理转ARC项目实战

在ARC之前,iOS内存管理无论对资深级还是菜鸟级开发者来说都是一件很头疼的事。我参加过几个使用手动内存管理的项目,印象最深刻的是一个地图类应用,由于应用本身就非常耗内存,当时为了解决内存泄露问题,每周都安排有人值班用Instruments挨个跑功能,关键是每次都总能检查出来不少。其实不管是菜鸟级还是资深级开发者都避免不了写出内存泄露的代码,规则大家都懂,可是天知道什么时候手一抖就少写了个rele

2016-06-22 13:14:54 690

转载 UICollectionView详解

目录(?)[-]Collection View 元素数据模型与交互数据模型数据提供者UICollectionViewDataSource交互UICollectionViewDelegate内容的显示UICollectionViewCell Styles使用自己的layoutUICollectionViewLayoutFlow Layout自定义 Flow L

2016-06-21 16:34:36 366

转载 iOS流布局UICollectionView系列一——初识与简单使用UICollectionView

一、简介        UICollectionView是iOS6之后引入的一个新的UI控件,它和UITableView有着诸多的相似之处,其中许多代理方法都十分类似。简单来说,UICollectionView是比UITbleView更加强大的一个UI控件,有如下几个方面:1、支持水平和垂直两种方向的布局2、通过layout配置方式进行布局3、类似于TableV

2016-06-20 10:43:48 659

转载 frame与bounds的区别比较

翻译文档上的
bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系的坐标和大小
区别主要在坐标系这一块。

很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。绝对坐标。。。相对坐标。。。比如屏幕旋转的时候就要以相对来重绘。 
frame 如果一个按钮,是在表格里,按钮的fram

2016-06-17 17:46:45 429

转载 深入理解 KVC\KVO 实现机制 — KVC

KVC和KVO都属于键值编程而且底层实现机制都是isa-swizzing,所以本来想放在一起讲的。但是篇幅有限所以就分成了两篇博文 KVO实现机制传送门KVC概述KVC是Key Value Coding的简称。它是一种可以通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。关键方法定义在 NSKeyValueCodingProtocolK

2016-06-17 17:12:22 271

转载 深入理解 KVC\KVO 实现机制 — KVO

KVC和KVO都属于键值编程而且底层实现机制都是isa-swizzing,所以本来想放在一起讲的。但是篇幅有限所以就分成了两篇博文。 KVC实现机制传送门KVO概述键值观察Key-Value-Observer就是观察者模式。观察者模式的定义:一个目标对象管理所有依赖于它的观察者对象,并在它自身的状态改变时主动通知观察者对象。这个主动通知通常是通过调用各观察者对象所提供的接口

2016-06-17 16:33:20 376

转载 UITabBarController+UINavigationController多层嵌套

来自会员z304983615的分享:网上有海量的关于创建UITabBarController实例的代码,不过99%都是在AppDelegate中创建并作为App的根视图。但是,并不见得UITabBarController就一定要作为App的根视图存在。下面提供的这个demo就是在某个视图控制器中创建出来的(且标签的viewControllers全都是导航栏控制器),并且该视图控制器将做为一个U

2016-06-17 16:27:48 1146

转载 您所不知道的nil/Nil/NULL/NSNull的空与空

一、NULL声明位置在stddef.h文件对于普通的iOS开发者来说,通常NULL的定义就是:# define NULL ((void*)0)因此,NULL本质上是:(void*)0NULL表示C指针为空charchar *string = NULL;二、nil声明在objc.h文件对于普通iOS开发者来说,nil的定义形式为:# define nil

2016-06-17 16:24:23 374

转载 IOS之UINavigationBar

简介 UINavigationBar是用于实现管理层级关系内容的组件,直接继承自UIView。通常用在UINavgationController类中,用于管理和显示UINavgationController的subViewController , 同时UINavgationBar也可以单独使用,添加至任何的UIView中。UINavigationBar比较重要的属性为,左侧按钮,中间的标题

2016-06-17 15:57:08 312

转载 iOS 三种录制视频方式

来源:伯乐在线 - dearqjn 链接:http://ios.jobbole.com/85008/点击 → 了解如何加入专栏作者随着每一代 iPhone 处理能力和相机硬件配置的提高,使用它来捕获视频也变得更加有意思。它们小巧,轻便,低调,而且与专业摄像机之间的差距已经变得非常小,小到在某些情况下,iPhone 可以真正替代它们。

2016-06-16 11:35:01 2220

转载 ios的属性和成员变量在.h文件和.m文件的不同

属性在.h文件中和在.m中声明是有区别的。区别就是,在.h文件中声明的属性,外部类可以通过“类实例.属性”来调用,但在.m中声明的则不可以,获取和设置的方法,只能是通过setValue:forKey和valueForKey来实现。 成员变量,有三种权限,就是大家都知道的@private、@protected、@public,写在.m文件中时,相当于是@private权限,子

2016-06-16 10:41:36 2856

转载 AppDelegate

AppDelegate实际上是实现了UIApplicationDelegate协议的类。UIApplicationDelegate协议定义了很多和Application状态、消息相关的方法。您可以简单的理解为Application和系统的一个联系。 在创建project的时候,Xcode会自动为您生成一个AppDelegate类。并在程序运行起来的时候创建AppDelegate对象(方式是

2016-06-16 10:40:11 208

转载 iOS程序启动原理

Info.plist常见设置    建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件,该文件对工程做一些运行期的配置,非常重要,不能删除.    在旧版Xcode创建的工程中,这个配置文件的名字叫做"Info.plist".    项目中的其他plist文件不能带有"Info"这个字眼,不然会被错认为是传说中非常重要的"In

2016-06-15 11:15:44 413

转载 让UIViewController中的viewDidLoad和viewWillAppear各司其责

注:本文由破船译自:thejoeconwayblog 你是否有过这样的感觉:有时某些代码是放到viewDidLoad还是viewWillAppear:中,这很容易让人混淆。在Stack Overflow上经常会遇到这样的问题:viewDidLoad和viewWillAppear到底哪个方法先被调用?实际上,理解这些方法的去向,以及为什么会这样并不重要,重要的是需要知道这些方法的作用,以

2016-06-15 11:14:20 489

转载 viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序

1.viewWillAppear: Calledwhen the view is about to made visible. Default does nothing视图即将可见时调用。默认情况下不执行任何操作2.viewDidAppear: Calledwhen the view has been fully transitioned onto the screen. Defaul

2016-06-15 11:01:09 319

翻译 iCarousel详解

DocumentationSupported OS & SDK Versions支持的OS & SDK版本      Supported build target - iOS 5.1 / Mac OS 10.7 (Xcode4.3.3, Apple LLVM compiler 3.1)    支持的编译目标-iOS 5.1 / Mac OS 10.7 (Xcode 4.3.

2016-06-15 10:59:05 10878

转载 GCD介绍(三)-Dispatch Sources

何为Dispatch Sources    简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。    说的貌似有点不清不楚。我们到底讨论哪些事件类型?    下面是GCD 10.6.0版本支持的事件:         Mach port send right state

2016-06-15 10:36:24 369

转载 详解IOS开发应用之并发Dispatch Queues

详解IOS开发应用之并发    我们几乎可以调度队列去完成所有用线程来完成的任务。调度队列相对于线程代码更简单,易于使用,更高效。下面讲主要简述调度队列,在应用中如何使用调度队列去执行任务。1、关于调度队列    所有的调度队列都是先进先出队列,因此,队列中的任务的开始的顺序和添加到队列中的顺序相同。GCD自动的为我们提供了一些调度队列,我们也可以创建新的用于具体的目的。下面列出几

2016-06-15 10:35:14 433

转载 多线程编程4 - GCD

一、简介    在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。GCD是Grand Central Dispatch的简称,它是基于C语言的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispa

2016-06-15 10:34:13 240

原创 使用Xcode检测循环引用

1.   测试代码- (void)viewDidLoad{    [super viewDidLoad];    NSMutableArray*firstArray = [NSMutableArrayarray];    NSMutableArray*secondArray = [NSMutableArrayarray];        [firstArra

2016-06-15 10:33:15 1122

转载 UITableVIew的一些编辑属性

(void)tableView:(UITableView*)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyleforRowAtIndexPath:(NSIndexPath *)indexPath {if (editingStyle == UITableViewCellEditingStyleDe

2016-06-15 10:30:50 740

转载 怎样在 Mac 上打开 ~_Library 文件夹

Mac 上的~/Library文件夹是默认为隐藏的。因为苹果觉得在大多数时候,你用不到这个文件夹。但有时候你也许会需要用这个文件夹来完成某些特殊的事情。像小编有时候就会用这个文件夹来查看我安装在 Mac 上的应用程序偏好,或者是用它来查看应用程序支持文件夹。      如果你已经用了很长时间的 Mac了,你肯定遇到过需要用到这个文件夹的情况,小编今天就教大家三个找到该文件夹的方法。 

2016-06-15 10:15:23 1173

转载 performSelector 那点事

在项目中,常常用到performSelectorXXX之类的方法,而且有很多类似方法;今天就来召集一下! 1.performSelectorOnMainThread:withObject:waitUntilDone:-(void)performSelectorOnMainThread:(SEL)aSelectorwithObject:(id)argwaitUntilDone:(BOOL

2016-06-15 10:13:33 208

转载 Objective-C - 异常处理(NSException)

苹果关于异常的详细文档:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Exceptions/Exceptions.html#//apple_ref/doc/uid/10000012i   关于自定义异常或者扩展:Objective-C中处理异常是依赖于NSException实现的

2016-06-15 10:12:28 428

转载 IOS中对图片进行重绘处理的方法总结

目录[-]IOS中对图片进行重绘处理的方法总结一、CGImageRef是什么二、CGImageRef相关的一些方法解析三、应用举例IOS中对图片进行重绘处理的方法总结一、CGImageRef是什么CGImageRef是定义在QuartzCore框架中的一个结构体指针,用C语言编写。在CGImage.h文件中,我们可以看到下面的定义:?1

2016-06-15 10:11:09 2771

转载 iOS - CGAffineTransform属性

transform我们一般称为形变属性,其本质是通过矩阵变化改变控件的大小、位置、角度等,这里我们通过一个例子来看一下具体的操作,在下面的例子中我们也会看到UIImageView控件的常用操作。  [objc]view plaincopy 1 //旋转  2 - (IBAction)rotationButtonPressed:(id)sender  3 {  4  

2016-06-15 10:09:59 903

转载 iOS开发零基础教程之真机调试流程

本讲主要内容:1、真机测试前准备工作2、第一步创建App ID3、第二步创建开发证书DevelopmentCertificate4、第三步打开本地钥匙串创建CSR文件5、第四步添加设备6、第五步创建描述文件7、第六步导出证书给其他人用8、第七步在Xcode工程中配置Code Sign Identifier 如果转载请注明出处,请尊重他人劳动成果,如有不足或者

2016-06-15 10:06:23 420

转载 Mac 中显示资源库(Library)文件夹目录的几种方法

Mac 中显示资源库(Library)文件夹目录的几种方法 Mac中Library目录在10.6.7系统之后默认隐藏的,要想找到此文件夹有如下几种方法: 1.用命令可以使其显示: 在终端中执行命令: chflagsnohidden ~/Library 可显示资源库文件夹  如想隐藏,可以在终端中执行命令: chflagshidden ~/

2016-06-15 10:05:10 5837

转载 UIView layer 的对应关系

一、添加Quartz Core框架    要使用 Quartz Core框架,你需要将其添加到你的工程中。然后  #import  二、认识图层    对 ps有所了解的人都知道图层的概念,在这里也一样。在PS中一张图片至少得有一个图层,一个或多个图层的叠加构成了一张位图。我们这里一个或多个图层的叠加的构成了UIView(或其派生类)对象。看过我关于 UIView 文章

2016-06-15 09:55:52 1199

转载 UIScrollView的delaysContentTouches与canCencelContentTouches属性

UIScrollView有一个BOOL类型的tracking属性,用来返回用户是否已经触及内容并打算开始滚动,我们从这个属性开始探究UIScrollView的工作原理:    当手指触摸到UIScrollView内容的一瞬间,会产生下面的动作:• 拦截触摸事件• tracking属性变为YES• 一个内置的计时器开始生效,用来监控在极短的事件间隔内是否发生了手指移动

case1:

2016-06-15 09:52:26 306

转载 layoutSubviews总结

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

2016-06-15 09:49:36 189

转载 IOS 字符串中去除特殊符号 stringByTrimmingCharactersInSet

先上个例子:NSString * str1 =[nameInput.text stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];NSString * str2 =[passwdInput.text stringByTrimmingCharactersInSet:[NSChara

2016-06-15 09:48:21 602

转载 如何使用iOS手势UIGestureRecognizer

UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势:numberOfTouchesRequired 手指的个数属性 numberOfTapsRequired    拍击的次数 //以上这两个属性设置之后的意思是,比如numberO

2016-06-14 19:46:43 312

转载 关于UIImageView的显示问题——居中显示或者

我们都知道在ios中,每一个UIImageView都有他的frame大小,但是如果图片的大小和这个frame的大小不符合的时候会怎么样呢?在默认情况,图片会被压缩或者拉伸以填满整个区域。通过查看UIView的属性可以知道,view的contentMode属性可以用来控制图片的显示情况。下面的设置可以让图片进行居中显示。imageView.contentMode =  UIViewConte

2016-06-14 19:45:26 1851

转载 IOS UIScrollView

UIScrollView 类负责所有基于 UIKit 的滚动操作。一、创建 [java] viewplaincopy   1 CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ;  2 UIScrollView* scrollView = [ [UIScrollView alloc ] init

2016-06-14 19:43:26 237

转载 IOS通知和代理的用法以及优劣比较

通知:通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信。实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象。通知中心是基于观察者模式的,它允许注册、删除观察者。    一个NSNotificationCenter可以有许多的通知消息NSNotification,对于每一个NSNotification可以有很多的观察者Obse

2016-06-14 19:42:22 3205

qt文件操作读写自定义类型

该例程在qt creator2.4.1下调试成功,用重载的方法实现了QDataStream读写用户自定义的数据类型,使操作更加方便。

2015-03-23

空空如也

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

TA关注的人

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