自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jkqs

学习笔记

  • 博客(48)
  • 资源 (6)
  • 收藏
  • 关注

原创 UITableViewCell自动调整高度相关资料整理

这是本人研究UITableViewCell自适应高度时看过的资料,集中提供给大家,省的到处找了。首推:http://codingobjc.com/blog/2014/10/15/shi-yong-autolayoutshi-xian-uitableviewde-celldong-tai-bu-ju-he-ke-bian-xing-gao/这是网友翻译stackoverflow上的,还有相关

2015-07-03 14:30:13 424

原创 iOS自动布局-Auto Layout

本来想写一下Auto Layout的使用来着,后来发现网上已经有好多资料了,我再重复一遍没什么意思,给大家贴几个链接算了~iOS6之后为了进行更加复杂的布局要求,苹果推出Auto Layout,每次添加约束都是一个NSLayoutConstraint对象,但是代码量太大,苹果又出了一个奇葩一般的VFL语言,写着不爽看着更不爽。但是总有牛人想出好办法,github上有一个开源库(Masonry)

2015-06-30 18:25:07 653

原创 iOS自动布局-Autoresizing

iOS下自动布局有两种技术可用:Autoresizing和Auto Layout。该文先说下Autoresizing,接下来再写一篇文章分析Auto Layout。Autoresizing是子视图相对父视图的布局,子视图之间不能添加布局约束,这也是Autoresizing的局限性。所以在iOS6+中引入了更加复杂、更加强大的Auto Layout。Autoresizing可以通过可视化界面调整

2015-06-30 11:39:51 666

原创 Core Animation 浅析

Core Animation 浅析(理解有问题的地方,欢迎指出来)1.层(CALayer)CALayer是所有界面元素的基类,包括动画。一般情况下我们在绘制界面的时候都是使用的UIView或者UIView的子类,比如我们想添加一张图片用UIImageView,显示一大段文字用UITextField等。UIView的直接父类是:UIResponder,且UIView中有个属性:@pr

2015-06-05 17:55:53 496

原创 Base64编码原理解析

网上关于Base64编解码原理的资料已经很多了,这里只是自己梳理一下知识点而已。如有不确,望批评指正。概念:Bas64编码顾名思义,就是用64个可显示字符来显示二进制的编码方式。64个字符正好需要6个bit位来编码,也就是说Base64每6bit作为一个单元。4*6=24个bit正好是3个byte。所以,Base64都是每3个字符进行编码最终结果为4个可显示Base64字符。当需要

2015-06-03 11:38:26 743

原创 Core Animation 官方文档第五章(高级动画技巧)

总结:1.动画有基于属性的动画(property-based),比如:hidden、alpha等属性;还有一种就是帧动画。帧动画提供的更多高级的动画,比如move、push等等。并且这些动画之间可以通过定时(Timing)使动画有执行的顺序,进行这些操作的方法和属性在 CAMediaTiming协议中,而 CAAnimation 和CALayer两个类已经遵循了该类,所以你可以直接操作。每一个

2015-06-03 11:00:56 492

原创 Core Animation 官方文档第四章(建立图层的层次结构)

总结:图层的层次结构非常类似UIView的层次结果,并且对layers的管理也类似UIView。比如在图层上添加一个图层:addSublayer:;删除图层:removeFromSuperlayer,都和UIView上类似。同时,图层如果要显示出来必须设置它的大小bounds、position。默认情况下,子图层如果超出父图层,多出来的部分也会显示出来,如果想给子图层设置一个边框使它不会超过这

2015-06-02 21:04:11 529

原创 Core Animation 官方文档第三章(动画图层内容)

总结:在图层上可以添加动画,隐式动画不可以停止,显式动画可以停止、移除。在显式动画中停止动画通过删除动画来实现,移除的过程中会有一个跳动的效果,可以通过检测动画最后的状态值,然后赋给layer tree中相关的对象。如果有很多动画要在一个layer上执行,可以把所有的动画通过group(CAAnimationGroup)的形式整合到一起。并且动画的执行状态是可以检测,有两种方法:一种是bloc

2015-06-02 20:36:20 429

原创 Core Animation 官方文档第二章(设置图层对象)

总结:默认情况下,UIView会帮你创建一个CALayer对象的图层,通常情况下你也不需要改变它。但是在一些高级动画中,或者使用其他类型图层看起来更合适的时候,如果你想替换掉原来的layers,可以通过下面的这个方法:+ (Class) layerClass { return [CAMetalLayer class];}这样,你的UIView甚至实现了定制,你可以用这种方法自己写一

2015-06-02 19:40:54 472

原创 Core Animation 官方文档第一章(基础核心动画)

总结:核心动画最重要的是图层(layers),UIView是对layers的封装,只不过UIView是有用户交互的,layers是没有响应链的。layers的作用是管理bitmap的一些状态信息,比如上面加一个图片,它会把图片缓存成bitmap的格式,便于在动画时的硬件加速渲染等操作。在app的主layers中,layers只是一个model object,负责管理要显示的对象比如你添加上去的

2015-06-02 15:12:08 447

转载 Autolayout使用以及和springs and structs优劣

iOS自动布局,随着苹果更多设备的发售,autolayout已经是大势所趋,下面的文章适合入门学习。教程一、http://www.cnblogs.com/zer0Black/p/3977134.html;教程二、http://www.cnblogs.com/zer0Black/p/3977288.html。

2015-05-16 16:08:35 379

原创 iOS键盘遮挡解决方案

iOS中键盘遮挡问题很常见,网上有很多解决方案,现在要说的这种也是其中一种。很多网友的解决方案很局限,没考虑适配等问题。这里介绍的解决方案是通过Apple系统提供的通知来解决问题,NSNotification中包含了键盘的一些信息,这个可以充分利用之。首先监听以下两个通知,系统会负责发送通知,当然你自己也可以发送。// 监听键盘的即将显示事件. UIKeyboardWillShowNo

2015-03-10 11:10:00 757

原创 iOS计算NSString的size

- (CGSize)sizeAboutMessage:(NSString *)message{ CGFloat version = [[[UIDevice currentDevice] systemVersion] floatValue]; CGSize size; if (version >= 7.0) { NSDictionary *dic = [NS

2015-02-25 13:42:18 828

原创 UITableView知识点

UITableView有两种显示方式:UITableViewStylePlain、UITableViewStyleGrouped。UITableViewStylePlain的section默认不显示head和footer,只有进行设置才会显示出来;UITableViewStyleGrouped的section默认显示head和footer如果想要隐藏需要手动隐藏。但是UITableView

2015-01-23 21:56:43 685

原创 iOS数据持久化方法

--->梳理一下知识点,比较粗糙,如果有认知上的错误非常欢迎指出。iOS数据持久化有4种方法:普通的文件、SQLite、plist、归档。(本质都是磁盘上的文件)SQLite:也是一种保存在磁盘上的格式化的文件,好处在于查找、存储方便。不像归档,必须每次全部解当,然后再一次性归档。File:不存在文件格式,就是数据流,无法进行查找、删除等操作。通过NSFileHandle类配合

2015-01-08 17:14:39 575

原创 UIViewController中的一个坑

UIViewController中有个属性title,还有一个navigationItem。但是在naivgationItem中也有个title属性,每次当你设置了UIViewController中的title的时候,navigationItem中的title也跟着变化,它俩是有关系的。因为iOS是闭源的所以我们也看不了源码是怎么实现的,但是经过试验基本可以猜测:官方重写了UIViewContro

2014-12-29 22:42:11 674

原创 iOS控制权限关键字

1.@private    只能当前类的实例对象可以访问,它的子类也不能访问。2.@protected(oc默认权限)     不能在类或者类的子类之外的函数或者对象中访问。只能被当前类的对象访问或者子类的对象也可以直接访问,不需要经过父类的方法去访问.3.@public      任何地方都可以被访问.4@package     这个一般用的比较少,很多教程上也没

2014-12-29 22:31:52 584

原创 #include #import @class区别

1.#include一般用在包含C/C++头文件,但是容易引起交叉编译,头文件可能会造成相互引用. 比如:a 包含 b,b 包含 a。解决办法:在头文件开头写#pragram once

2014-12-29 22:20:00 451

原创 NSFileHandle简析以及实现超大文件的复制

1.NSFileHandle 主要函数介绍:@interface NSFileHandle : NSObject //NSFileHandle默认打开文件时,读写指针在文件开头. - (NSData *)availableData;//返回文件有效字符长度(bytes),有个问题是,如果在超大文件中用该方法,会导致电脑卡死.该方法会将文件读入内存,然后计算长度,并且此时,文件句柄指

2014-12-15 15:51:20 1730

原创 NSArray简析

1.数组抽取//数组抽取,由一个数组的一部分抽取出一个新的数组NSArray * array=[[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four", nil];NSArray * array1 = [array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRang

2014-12-07 22:40:56 548

原创 OC语言细节总结

1.OC中对象命名都是以指针的形式,因为OC中对象是不能压栈的!所以,不能定义一个对象,只能定义一个指向对象的指针。OC中的对象都是存在于堆中的,用一个指针指向该空间。因为在压栈的时候需要知道对象的大小,而在OC中继承关系是在运行的时候才关联的,所以程序在编译的时候不知道压栈空间为多大。像C++,它是静态语言,在编译的时候就会关联继承关系,所以C++中对象都是压栈的。同样,在OC中sizeof宏是

2014-12-06 10:43:50 612

原创 NSString类简析

全是个人浅见,如有不当,欢迎指出 。以下所说,为常用方法。可能有些方法没有涉及到,只是个人的一个学习总结。1.创建NSString大体分三类方法a.直接赋值//@""类似于C语言中的“”,是一种运算符号,它首先在只读数据段开辟一块内存,存放字符串@“IOS”,然后返回其地址。NSString * aString1 = @"IOS";b.实例方法创建NSString * aSt

2014-12-05 22:21:59 486

原创 打印螺旋数组

描述:对于一个N*N的数组,输入一个小于 N*N的数n,螺旋打印该数组。例如:一个5*5的数组,输入25,打印如下图形: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 实现思路:定义四个方向:上边->x不变,y+1;右边->x+1,y不变;下边->x不变,y-1

2014-12-03 15:34:40 662

原创 两个字符串寻找最长公共子串

描述:打印两个字符串中,最长的公共子串。不考虑并列最长的公共子串。如:传入str1 = "abcdef" 和 str2 = "bcdeyzcdef"打印:"cdef"思路:从相对较短的字串中依次选择比上一次少一个字符的子串,然后,去较长的字串中查找(用strstr()函数)。例如本题:第一次:在str2中查找abcdef第二次:在str2中查找abcde、bcdef

2014-12-03 11:53:22 1140

原创 快速排序

快速排序为不稳定排序,在z

2014-11-21 14:44:18 440

原创 冒泡排序

冒泡排序,为稳定排序,时间复杂度为O(n^2)

2014-11-21 14:21:01 431

原创 struct

纯C语言中struct中是不能定义函数的,但是,有时候我们想za

2014-11-19 16:16:19 453

原创 串处理(朴素模式匹配/KMP模式匹配)

朴素模式匹配

2014-11-17 16:09:27 448

原创 线性表(栈/队列)

栈(顺序/链式)dui'lie

2014-11-16 19:47:05 465

原创 线性表(顺序存储/链式存储)

数据结构中逻辑存储分为4类:集合、线性表、树、图。

2014-11-14 20:57:17 556

原创 C语言static关键字浅析

今天编译程序遇上一个警告如下‘*****’使用过dan's

2014-05-12 11:11:24 518

转载 Android五大布局对象

转载自点击打开链接FrameLayout: FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前 一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个

2014-03-21 08:52:48 639

转载 高效学习法--之SQ4R学习法和相关思维导图

转自:点击打开链接《这样学习最有效》这个系列的图书在前二年卖的很火,书中的核心就是这个SQ4R学习法。  SQ4R: S代表浏览(Survey)、Q代表提问(Question)、4个R分别代表阅读(Read)、复述(Recite)、修订(Relate)、复习(Review)。  第一步:浏览(Survey):以阅读书本为例,先快速翻阅书的前言、目录、结论、索引,建立整体的概

2014-02-19 11:01:23 1844

转载 六个步骤快速学习难以掌握的资料

转自:点击打开链接第一步:快速浏览大量相关信息(快速通读)  许多人试图慢慢地系统地吸收难懂的材料。他们阅读时划线做标记,并且反复阅读某些段落以求理解。这种方法可能最终能达到目的,但是大部分人会感到厌倦然后在结束之前放弃努力。我们的大脑讨厌这种学习方式。更好的方法是,尽可能快速浏览材料。不要担心你不能理解所有内容,只管这样读下去。迫使自己读完“该死的”书本,不用担心自己没记住多

2014-02-19 10:59:09 819

原创 IOS越狱开发 root权限获取

首先,只有在越狱的ios设备上才可以获取root权限,未越狱就不用考虑了!思路:用具有普通权限的app引导具有root权限的app。假设你的应用程序为Demo,引导程序为Start。具体步骤如下:1、在Demo工程main.m文件开头添加一句:setuid(0);编译你的程序。进入Demo.app文件把Demo的执行文件改名为Demo_2、在Start工程main.m文件开头添加一

2014-02-18 16:10:17 3554

转载 External Accessory Framework之EAAccessory

转自:点击打开链接External Accessory Framework提供了配件连接iOS设备的通道。开发者可以通过它来开发连接配件的app。1. 它包含三个类:     EAAccessory          代表了一个单例的硬件配件对象。     EAAccessoryManager          管理所有连接到iPhone的配件。

2014-02-17 11:13:16 1385

转载 iOS 设备和外部配件的通讯

首先,如果我们的应用程序想跟外设传输数据,先要透过iphone的操作系统,也就是iphoneOS,而最开始的认证过程也是在外设和iphoneOS之间发生的,苹果为这个过程提供了一颗认证芯片(这颗芯片的作用是用来让iphoneOS识别这个外设是经过苹果公司承认的,他的通信方式是I2C总线,而且每出一个产品苹果都会收几美元的认证费用,苹果用心何其毒也~~~)          IphoneOS承认

2014-02-17 08:28:45 1112

原创 Windows安全补丁检

主要是使用WUA(Windows Update API)函数实现,以下是代码:#include #pragma comment(lib, "comsupp.lib")//检测操作系统安全补丁是否最新BOOL DetectSecPatch(){HRESULT ret ;IUpdateSession *Session = NULL;//定义更新域ret = CoInitialize(NULL);/

2013-11-04 09:42:16 2650

转载 Windows自带防火墙控制

本文主要介绍如何使用COM接口编程来操作Windows防火墙,使程序自动的解除阻止(即将本程序添加到防火墙的例外列表中),打开防火墙,关闭防火墙等。 1. 获得防火墙接口 INetFwProfileINetFwProfile * m_pIFirewall = NULL ; INetFwMgr * pIFirewallMgr = NULL; INetFwPol

2013-10-30 09:10:42 1697

原创 链接大全

http://blog.csdn.net/chenlycly/article/details/8656065

2013-10-30 09:00:21 876

VS2008 90天试用版破解补丁

vs2008 90天试用破解补丁,亲测。破解过程:控制面板卸载,进入卸载界面,在卸载界面运行破解补丁补丁,此时会显示序列号输入栏,输入序列号即可(可网上搜索)。

2013-12-18

Object-C 学习文档pdf

该压缩文档包括了Object-C学习的两大经典书籍,《Object-C程序设计》、《Object-C基础教程》。建议先学习第一本书,然后学习第二本书。如果有c/c++的基础,学起来会非常快的。由于本人没什么下载积分,就厚着脸向各位要一点了⋯⋯

2013-09-12

NSIS插件大全

NSIS在脚本编译时需要一些特殊插件来实现特殊的效果,该文件包括了几乎所有的你所需要的插件。

2013-08-19

NSIS2.46增强版

NSIS2.46增强版,内嵌安装程序生成向导,可视化界面等。

2013-08-19

分别用SDK/MFC实现的绘图小软件

分别用SDK/MFC实现的绘图软件,可以绘制直线、矩形,椭圆等,同时,可以编辑文字。可以改变画笔颜色、画刷颜色、字体样式。所有绘制信息可以保存在硬盘并且重新读出。适合用来学习。

2013-04-25

空空如也

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

TA关注的人

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