自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 集成JSPatch平台步骤

使用JSPatch平台主要步骤1、注册账号,添加app,获取JSPatch的appKey2、   pod 'JSPatchPlatform', '~>1.6.3' 添加JSPatch库,导入需要的三方库JavaScriptCore.framework,并在Build Setting ——>Framework Search Paths里为JSPatch配置相对路径,配置对了才能运行成功

2016-11-15 11:05:07 836

原创 利用MJRefresh定制自己的刷新动画

首先创建一个文件继承自MJRefreshGifHeader,因为做的是自定义动画,所以继承这个文件,如果只是自定义文字的话可以继承自MJRefreshHeader下面是.m文件代码,注释很详细了- (void)prepare{ [super prepare]; //创建UIImageView UIImageView *logoView = [[UIImageVie

2016-11-09 14:48:33 5021

原创 手写代码给ScrollView添加约束(Masonry)

需求:给collectionView的头视图添加轮播图子类化一个view,里面处理Scrollview的轮播机制。- (instancetype)init{ self = [super init]; if (self) { UIScrollView *scrollView = UIScrollView.new; self.bannerScr

2016-11-01 18:28:08 1518

原创 自定义导航控制器的滑动返回效果

iOS自带的左滑功能必须是在屏幕左侧开始滑才会有滑动返回的效果,如果想实现拖动界面就可以滑动返回的效果则需要自定义了。首先了解下系统自带的导航控制器左滑效果的实现:系统自带的是返回滑动手势是UIScreenEdgePanGestureRecognizer类型对象,从名字可以看出是作用区域是屏幕边缘,系统自带手势的target对象是_UINavigationInteractiveTransi

2016-08-11 15:19:04 696

原创 OC的全局引用和Swift的宏定义

一、OC添加pch全局引用文件在Xcode6之前新建项目之后会自动创建这个文件。但是Xcode6以后的版本需要手动创建,创建过程如下。1、 创建pch文件,新建一个文件,选择PCH File2、设置pch文件的路径为了方便项目的管理,我们常创建一个Constants.h文件,将常用的引用或者宏定义放进去,然后直接将这个文件放在全局引用pch文件中,这样项目中调用这些

2016-06-29 11:14:02 5732 2

原创 swift使用cocoapods导入oc三方库

这里主要说几个关于cocoapods导入三方库需要注意的问题和我遇到的坑1、swift语言使用cocoapods配置Podfile文件时要加上use_framework!这句代码,作用是把三方库打包成静态库,具体为什么我也在研究。。。2、swift调用oc的三方库  a、要建立一个桥接文件,然后在target——>build setting中搜索bridg把Objectiv

2016-06-16 10:51:08 6813

原创 swift单例的创建与使用

class ISHelp: NSObject { internal static let instance = ISHelp() //必须保证init方法的私有性,只有这样,才能保证单例是真正唯一的,避免外部对象通过访问init方法创建单例类的其他实例。由于Swift中的所有对象都是由公共的初始化方法创建的,我们需要重写自己的init方法,并设置其为私有的。 private

2016-06-15 17:28:25 3272

原创 一个字符串展现多种字体、字号、字体大小(NSAttributedString)

NSAttributedString叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体、字号、字体大小等各不相同的风格,还可以对段落进行格式化。   以下是实现代码: UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 500)]; label.numbe

2016-03-10 14:54:19 6054

转载 限制文本框只能输入数字

#define NUMBERS @"0123456789"- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string{    NSCharacterSet *numbersSet =[[NSCh

2016-02-16 15:50:57 441

原创 AFNetWorking 监听网络连接的状态

在AFNetWorking中有找到AFNetworkReachabilityManager文件,这个文件中处理的都是很网络状态有关的。其中有一个AFPostReachabilityStatusChange方法,这个方法每次网络状态发生改变时都会调用,所以我在这个方法中发送一个通知,接收到通知后可以根据网络状态判断。下面是部分代码首先是AFNetworkReachabilityManag

2015-12-17 14:31:37 796

转载 GCD之关于dispatch_semaphore的使用

dispatch_semaphore是GCD用来同步的一种方式,与他相关的共有三个函数,分别是dispatch_semaphore_create,dispatch_semaphore_signal,dispatch_semaphore_wait。下面我们逐一介绍三个函数:(1)dispatch_semaphore_create的声明为:  dispatch_sema

2015-12-14 14:12:03 405

原创 获取WebView高度的问题

今天在获取WebView高度的问题上纠结了很长时间,之前一直用下面的这一句在代理中获取高度,但是这次不管用,不知道是不是是和加载的HTMLStr类型的webView有关系int height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] intValue];解决办法:-

2015-11-18 16:14:17 977

转载 OC内存管理

一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于

2015-10-23 11:45:53 355

原创 App Store 截图尺寸

今天上传AppStore截图时发现5.5寸的用iphone6 plus分辨率的截图无法上传成功,查了资料发现要用1242*2208尺寸。记录下截图对应的尺寸:iphone4  3.5寸屏  : 640*960iphone5  4寸屏     : 640*1136iphone6  4.7寸屏  : 750*1334iphone6 plus  5.5寸屏: 1242*2208i

2015-10-20 14:33:00 1179

原创 将字典中得key按照首字母排序

NSDictionary *dict = @{@"key":@2,@"anna":@1,@"hello":@3,@"ok":@4}; NSArray *keysArray = [dict allKeys]; NSArray *resultArray = [keysArray sortedArrayUsingComparator:^NSComparisonResult(id obj

2015-05-11 17:01:36 2550

转载 iOS 文件目录及NSUserDefaults浅谈

1.IOS文件目录iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。手动保存的文件在documents文件里,Nsuserdefaults保存的文件在Library/Preferences 目录文件夹里;D

2015-05-11 15:17:49 383

原创 类目和延展

类目(category):为现有类添加新的方法,但是不能添加实例变量。通过类目加入的方法和原始类的方法没有区别,同样可以被继承。类目可以覆写原始类中得方法,但是一旦覆写后,原始类中得方法将不可再被调用。@interface NSMutableArray (Sort) //为NSMutableArray类添加Sort方法,Sort就是类目名,做到见名知意
-(void)invert;//方法

2015-05-11 14:35:08 418

原创 iOS6系统下 textField 输入文本居中

适配iOS6系统时发现 textField输入框中的文字不再水平居中 而是靠上。解决问题的方法:判断如果是6系统            textField.contentVerticalAlignment =UIControlContentHorizontalAlignmentCenter;//垂直居中这样就可以解决了。关于textField文本位置设置:typ

2015-04-24 10:06:41 3561

转载 苹果IOS系统SVN命令 同样适用于linux系统

1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的ph

2015-04-21 17:13:16 406

转载 iOS多线程——NSTimer

看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗?  我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到runloop中才会起作用吗?你知道NSTimer会并不是准确的按照你指定的时间触发的吗?你知道NSTimer就算添加到runloop了也不一定会按照你想象中的那样执行吗?  如果上面提

2015-04-20 15:20:28 1056

转载 ios多线程——锁(解决多线程抢夺同一块资源的问题)

在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全[cpp] view plaincopyprint?@synchronized(self)    {           // 

2015-04-17 16:13:24 3796

转载 iOS多线程——NSRunLoop(2)

Run loop就像它的名字一样,是你thread中的一个循环并对收到的事件进行处理。你的代码提供控制语句用来对run loop进行执行——换句话说:你的代码提供while或for循环来驱动run loop。在你的循环中,你使用run loop对象来“运行”事件处理代码。事件处理代码主要进行接收事件并调用事件处理函数。        Run loop从两个不同的事件源中接收消息。Input

2015-04-17 15:57:54 384

原创 ios8中tableView分割线距左边有距离的解决方法

ios8系统下得tableView默认分割线距离左边有一段空白距离,以下代码可以解决这个问题首先在viewDidLoad中加以下代码 if ([_tabelview respondsToSelector:@selector(setSeparatorInset:)]) { [_tabelview setSeparatorInset:UIEdgeInsets

2015-04-16 16:09:51 1258

转载 Runtime运行时机制

RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 )。编译完成之后直接顺序执行,无任何二义性。OC的函数调用成为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编 译阶段,OC可以调用任何函数,即使这个函数并未实现,只要申明过就不会报错。而C语言在编译阶

2015-04-16 11:13:40 414

转载 ios多语言支持

多语言在应用程序中一般有两种做法:一、程序中提供给用户自己选择的机会;二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:1.本地化应用程序名称2.本地化字符串3.本地化图片4.本地化其他文件1.本地化应用程序名称(1)点击“new file”然后在弹出窗口

2015-04-14 14:33:23 387

转载 block的copy和循环引用的问题

在实际开发中,发现使用Block有着比delegate和notification更简洁的优势。于是在目前的项目中大量的使用block。  在我的头文件我是这样声明使用block的。 @interface BrushViewController : BaseViewController  @property (nonatomic, copy) void (^getCardInfo)(NS

2015-04-14 11:51:44 388

原创 ios排序算法

- (void)bubblingAction{ NSArray *array = @[@1,@23,@43,@5,@67,@89,@6,@3,@43,@11,@23,@22]; NSMutableArray *bubbleArray = [NSMutableArray arrayWithArray:array]; [self bubbleSort:bubbleArray]

2015-04-09 15:08:37 469

转载 iOS开发实用技巧—打包app发给测试人员测试

说明:在项目开发过程中经常需要开发人员将项目打包成ipa包后,发给测试人员进行测试。本文贴图对打包的过程简单介绍。一、Product ->archive(注意,不能是模拟器状态,如果当前调试状况是模拟器的话,则archive为灰色不可点击)      模拟器情况下:  剩余步骤:  选择  证书  生成

2015-04-09 11:48:09 626

转载 银联集成问题(1)——duplicate symbol _OBJC_METACLASS_$_Base64

今天在集成银联的时候,银联的文档要求   a) 在工程的Build Settings中找到Other Linker Flags中添加-ObjC宏;(不添加宏的时候,程序不报错,但是在进行银联支付的时候,会无法顺利的进行,亲测了哟)   但是在添加宏的时候就出现了BUG:   duplicate symbol _OBJC_METACLASS_$_Base64,如图:Lin

2015-04-07 14:45:44 1566

原创 UITableViewCell中的cell addSubView和cell.contentView addSubview

我们定制TableViewCell的时候,往往根据个性需求不同,会在cell上加不同的内容。在cell上添加子视图的方式有两种。例如我在cell上加一个Label:UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:thirdIdentifier]; cell = [[UITableViewC

2015-03-26 15:25:34 1622

转载 Xcode 工程文件打开不出来, cannot be opened because the project

Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed. git更新代码后,打开xcode工程文件,会出现 xxx..xcodeproj cannot be opened because the project file cannot be parsed. 因为.xcodeproj工程文件冲突了,然

2015-03-24 20:16:26 592

原创 根据手势获取点击的是哪个控件

循环创建了这些View,给View添加tap手势,为了区分点击的View,给每个View添加tag值。通过tapAction事件可以判断出当前点击的View的tag值。以下是tapAction中得部分代码:- (void)tapAction:(UITapGestureRecognizer *)tap{ NSInteger viewTag = tap.self.view.tag;

2015-03-24 17:32:02 744

转载 iOS 在UILabel显示不同的字体和颜色(转)

转自:http://my.oschina.net/CarlHuang/blog/138363在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串,我们可以使用NSAttributedTe

2015-03-23 10:18:20 378

转载 tableView去掉多余的空行分割线

如何去掉tableView多余的空白行分割线?我们经常会遇到下面的问题,tableView表视图上面的内容不是很多,但是 tableView 却帮忙把 整个屏幕都用 空白行分割线占满了:如下图:代码如下:[cpp] view plaincopyprint?//  //  TableViewControl

2015-03-22 13:49:33 639

原创 TableView不响应TouchBegan方法

近期项目需求中,需要在tableView的单元格中输入内容,并点击tableView的任意部分可以收回键盘。一开始就想到了使用- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [bookingTableView endEditing:YES];}  但是无论怎么点击都不会走这个方法。后来查找资料发现,

2015-03-20 09:32:25 4116

原创 ios拨打电话

NSMutableString * phoneStr=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"156********"];[[UIApplication sharedApplication] openURL:[NSURL URLWithString: phoneStr]];注意:当为tel时拨打电话会跳转到通讯录,打完后留在通讯

2015-03-17 16:58:00 405

原创 查找字符串(containsString和rangeOfString的区别)

//查找字符串是否包含“心” NSString *str = @"每天都有好心情"; if ([str containsString:@"心"]) { NSLog(@"字符串包含“心”"); //containString适用于ios8系统,在ios7系统下会崩溃 } NSRange range = [str rangeOfString

2015-03-09 10:47:16 13852

转载 swift入门教程(1)

原文地址:http://blog.csdn.net/hello_hwc/article/details/39782829一、常量和变量这里首先说的是,swfit可以使用分号结尾,也可以不使用,但是,一行要执行多个语句,一定要分号变量声明用var 常量声明用let常量和变量的名字可以是Unicode字符,但是不能包含数学符号,箭头,保留的字符(例如:while)

2015-03-03 14:51:28 318

转载 iOS支持64bit

原文地址:http://chun.tips/blog/2014/10/21/iosgong-cheng-ru-he-zhi-chi-64-bit/  (小伙伴们要注意啦)苹果在2014年10月20号发布了一条消息:从明年的二月一号开始,提交到App Store的应用必须支持64-bit。详细消息地址为:https://developer.apple.com/news/?id=10202

2015-02-28 15:15:36 465

转载 截图、生成指定大小的图片、压缩图片

1、截图UIImage*snapshot;CGImageRefcgScreen=UIGetScreenImage();if(cgScreen){snapshot=[UIImageimageWithCGImage:cgScreen];CGImageRelease(cgScreen);}CGRectrect=CGRectMake(0,125,640,750);//创建要

2015-01-14 16:29:13 1503

空空如也

空空如也

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

TA关注的人

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