自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

转载 iOS触摸事件处理

链接:http://www.cnblogs.com/Quains/p/3369132.html主要是记录下iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景.一、处理机制界面响应消息机制分两块,(1)首先在视图的层次结构里找到能响应消息的那个视图。(2)然后在找到的视图里处理消息。【关键】(1)的过程是从父View到子View查找,而(2)是从找到的那

2016-07-31 15:04:05 234

转载 iphone数据存储之-- Core Data的使用(一)

链接:http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistent

2016-07-29 09:36:19 285

转载 使用FMDB事务批量更新数据库

链接:http://www.cnblogs.com/zzltjnh/p/FMDB_Transaction.html今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程、触发器、事务等等这些名词的概念,但是由于毕业后从事的不是服务器方面的工作,对数据库方面的知识一直停留在理论阶段,在iOS中有两种比较常用

2016-07-27 09:47:10 521

原创 iOS FMDB保存图片

FMDB是对sqlite的封装,把面向过程,c接口封装成了大家熟悉的oc接口,并且对sqlite中令人头疼的线程安全做了处理,当然不变的是还是跟sqlite一样,需要我们写NSString类型的sql语句,一不小心拼错了,检查各大半天,小吐槽一下。言归正传,FMDB是没有图片类型的字段的,但是提供了更灵活地方法:blob类型,也就是二进制,所以我们只要把图片转化为NSData就可以存放了。

2016-07-26 18:04:36 3897

转载 libsqlite3.dylib与libsqlite3.0.dylib区别

链接:http://www.cnblogs.com/easonoutlook/archive/2013/01/05/2845634.html实际上libsqlite3.dylib本身是个链接,它指向libsqlite3.0.dylib。也就是说在项目里如果你添加libsqlite3.dylib和添加libsqlite3.0.dylib其实是添加了同一个文件,没有区别,那为什么要添加

2016-07-25 16:16:52 386

原创 iOS 数据持久化之-NSUserDefaults

NSuserDefaults在iOS中特别适合于存储轻量级数据:用户和密码,是否已登录标志,mjrefresh的记录上次刷新时间等。NSuserDefaults可以存储的数据类型有:NSNumber、NSString、NSDictionary、NSArray、NSData、NDDate基本覆盖了常用的数据类型,以下是它们使用的例子:    //NSNumber    [[N

2016-07-25 10:44:22 307

原创 gcd中同步异步并行串行线程数目的关系

gcd的功能很强大,使用起来也很简便,但理解起来还是有些费劲的。下面记录的主要是gcd同步异步并行串行得关系,gcd的功能远不止这些。一、串行队列1、同步运行dispatch_queue_t searialQueue =dispatch_queue_create("SearialQueue",DISPATCH_QUEUE_SERIAL);dispatch_s

2016-07-24 11:58:37 996

原创 UITabBar和UIToolbar的区别

大家都知道在UITabBarController的底部有一个tabbar,也就是UITabbar对象,用户控制器之间快速切换。UINavigationController控制器的底部有一个toolbar(默认是隐藏的,可用通过[self.navigationControllersetToolbarHidden:NO])显示出来,UIToolBar对象,可以在上面添加UIBarButtonI

2016-07-23 18:39:24 977

转载 ios 导航栏,标签栏,工具栏和状态栏

链接:http://www.cnblogs.com/Piosa/archive/2011/12/16/2290811.html状态栏虽然您难以控制状态栏的内容,但是您可以定制它的外观,并在一定程度上定制它的行为。具体来说,您可以:设定网络活动指示器是否应该可见。如果您的应用程序正在执行的一项网络操作会持续几秒钟以上,则应该显示网络活动指示器。如果该网络操作将在几秒钟之内

2016-07-23 18:19:27 1951

原创 applicationiconbadgenumber不显示

原因在ios8及之后,需要用户授权才能显示:UIUserNotificationSettings *settings = [UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeBadgecategories:nil];[[UIApplicationsharedApplication] re

2016-07-23 13:45:47 470

转载 iOS开发UI篇—程序启动原理和UIApplication

链接:http://www.cnblogs.com/wendingding/p/3766347.html一、UIApplication1.简单介绍(1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。(2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplica

2016-07-23 13:29:26 309

原创 ios创建空项目

1、先创建一个 Single View Application。2、删除Main.storyboard和launchScreen两项。3、找到info.plist文件 删除其中的Launch screen interface file base name和Main storyboard file base name两项。4、在TARGETS下,general下找到 App Icon

2016-07-23 12:39:16 447

转载 UINavigationController 、UINavigationBar 、UINavigationItem 超清晰直观详解

链接:http://www.cnblogs.com/ygm900/p/3659619.htmlUINavigationController 部分1、 UINavigationController 是一个容器类。里面盛放的是UIViewController。容器的意思是,如果你不放入UIViewController,里面就是空的,什么也没有。这个容器在

2016-07-23 11:27:51 579

原创 ios 键盘右上角添加完成按钮

在调出键盘后,我们通常希望在键盘的右上角添加一个完成的按钮,也就是给键盘添加一个附属的视图。我们知道,在uitextField或uitextView获得焦点的时候,键盘弹出。要在键盘的右上角添加完成按钮,其实就是通过设置它们的inputAccessoryView属性实现的:先看看现实方法:    UIToolbar *bar = [[UIToolbaralloc] init

2016-07-21 10:55:09 11212

转载 iOS多线程的初步研究(九)-- dispatch源

原文链接:http://www.cnblogs.com/sunfrog/p/3308766.htmldispatch源(dispatch source)和RunLoop源概念上有些类似的地方,而且使用起来更简单。要很好地理解dispatch源,其实把它看成一种特别的生产消费模式。dispatch源好比生产的数据,当有新数据时,会自动在dispatch指定的队列(即消费队列)上运行相应地

2016-07-18 22:32:18 244

转载 ios中timer相关的延时调用需要注意的地方

ios中timer相关的延时调用,常见的有两种,一种是NSObject中的performSelector:withObject:afterDelay:以及performSelector:withObject:afterDelay:inModes:。这两个方法在调用的时候会设置当前runloop中timer,前者设置的timer在NSDefaultRunLoopMode运行,后者则可以指定NSRun

2016-07-18 15:03:15 394

原创 iOS 生产者消费者

在编码中,有时会遇到一个模块产生数据,另外一个模块处理数据的情况,不论是为了模块间的结偶或是并发处理还是忙闲不均,我们都会在产生和处理数据的模块之间放置缓存区,作为生产和处理数据的仓库。以上的模型就是生产者消费者模型。为了简化上述模型,生产者和消费者只用一个线程替代,缓存区用数组表示。我们知道,多个线程数据进行读写,要对这个共享数据进行读写保护,也就是线程的同步。在ios中,我们可以通过加

2016-07-18 13:41:53 870

转载 iOS设计模式(03):工厂方法

http://www.cocoachina.com/ios/20130516/6219.html 什么是工厂方法? GOF是这样描述工厂模式的:“Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory M

2016-07-17 15:21:02 219

原创 isKindOfClass和isMemberOfClass区别

isMemberOfClass判断一个对象是否是类的实例。isKindOfClass判断一个对象是否是类的实例,或者是派生自该类的实例。

2016-07-17 14:36:23 561

转载 IOS设计模式浅析之简单工厂模式(SimpleFactory)

链接:http://www.cnblogs.com/goflee/p/3484560.html概述  首先说明一下,简单工厂模式不属于23种GOF设计模式之一。它也称作静态工厂方法模式,是工厂方法模式的特殊实现。这里对简单工厂模式进行介绍,是为本系列后面的工厂方法和抽象工厂模式做一个引子。定义  “专门定义一个类来负责创建其他类的实例,被创建的实例常常具有共同的父类

2016-07-17 11:49:39 302

转载 Objective-C实现多继承

链接:http://www.linuxidc.com/Linux/2012-06/63170.htm我们都知道Objective-C不能像C++一样支持多继承,但是在Objective-C的使用经常会碰到需要使用多继承的情况。例如,ClassA中有methodA,ClassB中methodB,而现在需要使用这两个类中的方法。如何按照C++的编程思路,毫无疑问采用多继承就搞定了,

2016-07-17 11:41:52 422

原创 jsonModel解释驼峰和下划线数据

JSONModel使用起来很是方便,特别是数据模型比较复杂的时候,但在使用的过程当中也发现了一些不足之处。JSONModel默认只能解释驼峰,想要解析下划线类型的数据的话需要继承JSONModel并重写:+ (JSONKeyMapper *)keyMapper;这个方法:eg:/**用于将服务器传过来的以下划线字段转化为驼峰类型:a_bc->aBc*

2016-07-13 00:02:05 1647

转载 ReactiveCocoa入门教程——第二部分

链接:http://benbeng.leanote.com/post/ReactiveCocoaTutorial-part1本文翻译自RayWenderlich  ReactiveCocoa Tutorial – The Definitive Introduction: Part 2/2 ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(F

2016-07-10 14:41:43 609

原创 reactiveCocoa rac_signalForControlEvents多次触发解决方法

遇到这个问题十有八九是cell的重用问题,这里不是说你的cell重用有问题,而是reactiveCocoa在cell上使用的rac_signalForControlEvents重用问题。我们知道cell在移出屏幕时并没有被销毁,而是到了一个重用池中,放到池子前我们已经做了[[cell.btn rac_signalForControlEvents:UIControlEventTouchU

2016-07-09 19:10:20 5611

转载 UITableView api解析

转载请注明出处:http://blog.csdn.net/qq11231325UITableView : UIScrollView 1.创建一个UITableView对象ITableView *tableView = [[UITableView alloc]initWithFrame:[[UIScreen mainScreen] bounds] style:UI

2016-07-09 15:37:59 356

原创 设置UITableView section之间的间距

当UITableView的style为UITableViewStyleGrouped时,section之间默认的距离往往不是我们想要的。那怎么设置呢?我们知道每个section都有自己的header和footer,它们的高度和就是section之间的间距。知道间距的问题所在就好改了。很简单:_tableView.sectionHeaderHeight = 10;   _tableV

2016-07-09 13:54:10 11563

原创 UITableViewCell的backGroundView和selectedBackgroundView在cell中的层次

backGroundView为yucell的最底层,而selectedBackgroundView则相反,位于最顶层。也就是说,如果你在cell上(一般会在其contentView)堆放了如何的不透明的view,则backGroundView都会被覆盖,而selectedBackgroundView在选中的情况下会覆盖你在cell中堆放的view。backGroundView和

2016-07-09 12:59:53 1577

原创 UITableViewCell改变选中时背景样式

1、如果不想让选中状态下cell的背景发生改变: cell.selectionStyle =UITableViewCellSelectionStyleNone;2、自定义未选择下cell的背景:可以通过cell自带的的backgroundView: cell.backgroundView = [[UIView alloc]init]; cell.ba

2016-07-09 12:39:34 1954

原创 UITableView滚动时NSTimer不执行

解决方法:[[NSRunLoop currentRunLoop] addTimer:timer forMode:UITrackingRunLoopMode]; 或[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];原因分析:NSTImer的实现时给予runLoop的,而runloop又有以

2016-07-06 01:59:08 1025

原创 ios弹簧动画实现

我们经常看到弹簧动画,像我们熟悉的微博就是一例,其实弹簧的动画的实现是很简单的,比如我想是想某个按钮的上下震动的弹簧效果:    UIButton *button = [[UIButtonalloc] initWithFrame:CGRectMake(100,100, 100,50)];    button.backgroundColor = [UIColorr

2016-07-05 10:47:37 2968

原创 dispatch_after的使用及iOS延时实现方法

如果需要延时处理某件事情,则我们可以通过dispatch_after来实现,比如从现在开始,延时3秒后执行某个方法:dispatch_time_t timer =dispatch_time(DISPATCH_TIME_NOW,3 * NSEC_PER_SEC); dispatch_after(timer, dispatch_get_main_queue(), ^

2016-07-05 10:25:49 12499

原创 oc中init和initialize的区别

关于这两个方法,我们对init比较熟悉,对于initialzie怎想对陌生。- (id) init;+ (void) initialize;一个对像方法,一个类方法。init就是对象实例化的实话会调用,比如[[NSObject all] init]和[NSObject new]时init就会被调用;每个实例化一个对像init就被调用一次。initialize则在对像的第一个

2016-07-02 18:51:41 411

原创 awakeFromNib的调用机制

如果细心的话,会发现在创建UITableViewCell的子类时,如果沟上 "Also create XIB file"的时候会自动生成 awakeFromNib 方法,不勾则不会生成,根据方法名也很容易看出来。注意,这个函数只有在创建了.nib文件的时候才会被调用,并且这个方法背调用的时候xib文件连线生成的对像已经初始化,并且frame什么的都已固定好,所以,我们可以在这个方法里面添加自己定义

2016-07-02 18:41:03 2943

ios 导航栏上滑隐藏下拉显示

ios 导航栏上滑隐藏下拉显示, 常用于个人主页等,头部的图片会随下拉不断放大,松开后图片大小还原。

2017-03-05

ios 上滑隐藏导航下拉显示导航栏实现

ios 上滑隐藏导航下拉显示导航栏, 常用于个人主页等,头部的图片会随下拉不断放大,松开后图片大小还原。

2017-01-22

UITableViewCell的绘画

UITableViewCell的绘画, 是对ABTableviewcell的简化

2016-06-08

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

TA关注的人

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