自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git命令,SSH Key密钥配置

1、安装:sudo apt-get install git (下载了Xcode会安装生成git环境)2、查看版本:git --version3、全局配置:就是为了在于提交代码的时候,知道是哪个家伙提交的!git config --global user.name  "用户名"git config --global user.email "你的邮箱"4、配置SSH Key 。在g

2017-10-26 14:06:17 13401

翻译 通过当前UIView获取它对应的UIViewController

通过UIView对象获取该对象所属的UIViewController可以使用UIResponder的nextResponder方法获得,UIView类继承于UIResponder,因此可以直接使用。根据文档描述,如果View有view controller,则通过nextResponder方法返回,如果没有则返回superview。English:if the view has a

2017-06-29 18:03:23 538

原创 willMoveToParentViewController和didMoveToParentViewController

iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewController在iOS 5.0以前,我们在一个UIViewController中这样组织相关的UIView在以前,一个UIViewController的View可能有很多小的子view。这些子view很多时候被盖在

2016-12-26 10:44:39 353

原创 JavaScript与Objective-C之间的通信

1、JS中变量在OC中的类型通过OC-JS Bridge,变量的类型会自动进行转换,基本类型都会自动转换,如JS中的number、boolean都会转换成OC中的NSNumber类型,而String类型会自动转换成NSString类型,JS中的对象会转换成WebScriptObject对象,而相关的属性信息可以通过Key-Value的方法读取和写入,本文后面可看到相关的代码。2、实现在OC

2016-12-21 17:49:36 356

原创 iOS实时卡顿监控

iOS平台因为UIKit本身的特性,需要将所有的UI操作都放在主线程执行,所以也造成不少程序员都习惯将一些线程安全性不确定的逻辑,以及其它线程结束后的汇总工作等等放到了主线,所以主线程中包含的这些大量计算、IO、绘制都有可能造成卡顿.在Xcode中已经集成了非常方便的调试工具Instruments,它可以帮助我们在开发测试阶段分析软件运行的性能消耗,但一款软件经过测试流程和实验室分析肯定是不够

2016-12-21 17:44:10 1340

原创 UITableViewCell侧滑显示多个选项按钮

iOS8之后只要设置一下UITableView的代理方法就好了-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{    UITableViewRowAction * action1 = [UITableViewRowActi

2016-12-21 14:04:10 575

原创 UIAlertController的封装,方便使用

在iOS 8中,UIAlertController在功能上是和UIAlertView以及UIActionSheet相同的,UIAlertController以一种模块化替换的方式来代替这两个的功能和作用。是使用对话框(alert)还是使用上拉菜单(action sheet),就取决于在创建控制器时,您是如何设置首选样式的。但是如果项目要经常使用到提示框的时候,一直重复相同的代码也是一件头疼的事

2016-12-21 12:10:54 1165

原创 对AFN的二次封装

创建一个afn管理类#import #import "AFNetworking.h"//成功回调typedef void (^ HttpSuccess)(id data);//失败回调typedef void (^ HttpFailure)(NSError *error);@interface MKJAFNRequestTools : NSObject//get

2016-12-21 11:49:45 319

原创 iOS/MAc开发的一些知名个人博客

王巍的博客:王巍目前在日本横滨任职于LINE。工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发。他的陈列柜中已有多款应用,其中番茄工作法工具非常棒。http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger。98年毕业,先后就职于洪恩软件、RocketSofeware和用友软件工程公司(后更名为瑞友科技),现任瑞友科技IT应用研究院副院

2016-12-21 11:34:18 357

原创 给Xcode添加空模板文件

最简单的方法:xcode右键,显示包内容。 然后按照如下目录一层层的找,最后把下载的空模板文件拉进去Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application

2016-12-21 11:21:26 384

原创 YYModel的简介与使用

关于YYModel的性能,一张图带你看懂特性:高性能: 模型转换性能接近手写解析代码。自动类型转换: 对象类型可以自动转换,详情见下方表格。类型安全: 转换过程中,所有的数据类型都会被检测一遍,以保证类型安全,避免崩溃问题。无侵入性: 模型无需继承自其他基类。轻量: 该框架只有 5 个文件 (包括.h文件)。文档和单元测试: 文档覆盖率100%, 代码覆

2016-12-21 11:06:13 7594

原创 数据持久化存储:FMDB的使用

FMDB简介:一种第三方开源库,其实就是对SQLite的API进行了封装,在加上面向对象的思想,就不必再用繁琐的C语言API函数了,这要比直接使用SQLite更加的方便。FMDB优点:使用起来更加面向对象,变得简洁,使用方便;                     对比苹果自带的CoreData框架,更加轻量级,更加灵活;                     提供了多线程安全,有

2016-12-21 10:39:41 1423

翻译 常用iOS第三方库以及XCode插件介绍

第三方库是现在的程序员离不开的东西 不光是APP开发 基本上所有的商业项目 都会或多或少的使用到第三方库 Github上Star>100的开源库数量如下可以看到JS以绝对的优势排名第一 一定程度上也说明了JS在这几年为什么发展得这么迅速 不会点JS都不好意思说自己是码农 不过现在JS圈的造轮子浪潮也是愈演愈烈了 自己不写个框架都不好意思打招呼OC排名第四 相信这个排名还会上升 Swif

2016-12-17 09:27:23 742

转载 iOS开发HTTPS实现之信任SSL证书和自签名证书

首先来分析一下什么是HTTPS以及了解HTTPS对于iOS开发者的意义HTTPS 以及SSL/TSL什么是SSL?SSL(Secure Sockets Layer, 安全套接字层),因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点,比如传输内容会被偷窥(嗅探)和篡改。 SSL 协议的作用就是在传输层对网络连接进行加密。何为TLS?到了1999年,SSL 因为

2016-12-17 09:17:14 1241

原创 更改状态栏,导航栏颜色的方法

ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指的显示电池、时间等部分;背景部分:就是显示黑色或者图片的背景部分;(一)设置statusBar的【前景部分】简单来说,就是设置显示电池电量、时间、网络部分标示的颜色, 这里只能设置两种颜色:默认的黑色(UIStatusBarStyleDefault)白色(U

2016-12-14 10:15:22 7739

原创 cocoapods导入第三方库后,xcode上import不提示,找不到第三方库的解决办法

选择你的工程tagets, -> Build Settings  ->  Search Paths  ->  User Header Search Paths双击User Header Search Paths  -> 添加    $(PODS_ROOT)    选择     recursive然后在工程里导入就能找到头文件了。

2016-12-13 13:35:08 4567

原创 AFN的坑--NSCachedURLResponse缓存

网络正常的情况下,如果服务器宕机或者数据库出错,会造成访问服务器报错的情况,一般报错的内容是:无法连接到服务器或者其它错误。且服务器 修复后,仍然报错。经过排查,终于找出了原因所在:AFNetworking会将Url的Response缓存,方便离线浏览。而且这是默认存在的,无论 是1.x还是2.x版本都存在。其方法是:-(void)setCacheResponseBlock:(NSCached

2016-05-18 15:40:58 1282

原创 关于KVO的使用

1. KVO就是Key-value observer键值观察,即我们所说的“观察者模式”2. 当为对象A增加了一个观察者B时,那么当A中的指定属性发生了变化时,B对象就可以知道A发生了变化,然后做相关的处理3. 当被观察者对象A消亡时,B就应该停止观察(因为B在继续观察A没有意义,A已经没了)removeObserver:forKeyPath:例如:创建一个学生类Student,有na

2016-05-18 11:05:27 345

原创 KVC的使用

1. KVC就是键值编码 Key value coding2. KVC是OC语言动态运行时(一堆底层的c实现的接口,当程序在运行的时候获取和设置一些东西)机制的一种体现,任何NSObject类型的对象都支持KVC3. 常用核心方法:   - (void)setValue:(id)value forKey:(NSString *)key;   - (void)setValue:(id

2016-05-18 10:25:18 292

转载 沙盒文件及目录路径

iOS的沙盒里有四个文件:documents,tmp,app,Library。手动保存的文件在documents文件里Nsuserdefaults保存的文件在tmp文件夹里1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身

2016-05-13 14:07:48 2379

原创 开发自己的cordova插件

如果还没有配置过cordova环境,首先要下载nodejs,(下载地址https://nodejs.org/)下载完毕安装。控制台:1.输入npm -v 确定是否装上了2.输入sudo npm install -g cordova安装cordova3.等待几分钟,输入cordova -v查看是否安装成功4.输入sudo npm install -g ionic 安装ionic

2016-05-12 16:44:48 267

原创 git分支管理

https://code.aliyun.com/howshow/haopin-app/branches

2016-05-12 16:44:42 190

原创 运行时的简单应用,拓展+属性

例如给UILabel添加一个UUTag属性 #import "UILabel+util.h"#import "objc/runtime.h"static const void *UUTagKey = &UUTagKey;@implementation UILabel (util)-(NSString *)UUTag{    return objc_getAssociat

2016-05-12 16:44:35 219

原创 单指手势,旋转,缩放

https://github.com/White007/hdSingleGesture.git

2016-05-12 16:44:32 681

原创 远程推送,集成极光的SDK,证书制造

由于iOS操作系统限制,我们APP在后台不能做操作,也不能接收任何数据,所以需要用推送来接收消息.APNs服务,苹果官方网址:https://developer.apple.com/library/prerelease/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePush

2016-05-12 16:44:28 216

原创 强大的Core Image框架,各种滤镜处理图像

首先介绍一下Core Image,他是一个很强大的图像处理框架,他可以让你简单的应用各种滤镜来处理图像,比如说色相,饱和度,亮度等等。。。他是运用GPU(CPU)实时地处理图像数据和视频的帧。而且Core Image滤镜可以叠加在一起,产生多滤镜的效果。因为没有滤镜都有属于自己唯一的参数,可以通过修改这些参数来达到预期效果。在应用Core Image时,要注意着三个比较总要的类:CIConte

2016-05-12 16:44:22 584

原创 解决横屏时调用系统相册崩溃的问题

之前开发中遇到的一个需求,要让APP强制横屏,但是在调用系统相册的时候会崩溃,原因是这样的reason: 'Supported orientations has no common orientation with the application, and [PUUIAlbumListViewController shouldAutorotate] is returning YES'  因

2016-05-12 16:44:16 1071

原创 iOS RC4加解密算法

-(NSString *)encrypt:(NSString *)string withKey:(NSString *)key{    self.sBox = [[self frameSBox:key] mutableCopy];    unichar code[string.length];    int i = 0;    int j = 0;    for (int n

2016-05-12 16:44:09 1168

原创 UIScrollView不能响应touch事件的解决办法

UIScrollView本身事是不支持touch的,我们可以给她添加拓展#import "UIScrollView+util.h" @implementation UIScrollView (util)-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{    [[self nextResponder]

2016-05-12 16:44:03 340

原创 本地代码上传 -> Github

首先在控制台cd到你的本地项目,这里以teat为例1.执行命令:  git init2.将项目文件添加到仓库中:  git add . (可以是指定文件,将“.”转换为指定文件)3.接下来commit添加的文件: git commit -m '将teat的所有文件commit到仓库'4.在你的GitHub账号上new repository一个仓库,点击Create resp

2016-05-12 16:43:57 363

原创 更新Xcode7 后 .dylib变成了.tbd的问题解决

拿添加libsqlite3.dylib为例1.打开你添加的libsqlite3.tbd 文本文件,然后有一行 install-name:    /usr/lib/libsqlite3.dylib  。command+c复制下来,一会儿需要2.在添加动态库的窗口的左下角有个Add Other...,点击选择进入。快捷键command+shift+G 前往文件夹 把1.的那个地址拷贝进去,点击

2016-05-12 16:43:54 333

原创 简单地新闻头条滚动效果

https://github.com/White007/ADScrollView

2016-05-12 16:43:48 512

原创 关于User Defined Runtime Attributes的使用,Xib定制view的边框、颜色etc

在用XIB里自定制view,button,label...的一些属性时,例如边框宽度,边框颜色等,如下图:在User Defined Runtime Attributes里添加你需要改变的属性名,属性类型即可。在设置颜色时要注意,因为bordercolor是CGColorRef类型的,所以你要拓展CALayer的方法,来兼容CALayer的KVC

2016-05-12 16:43:44 346

原创 NSUserDefaults 很详细的介绍使用(转发)

http://my.oschina.net/u/1245365/blog/294449

2016-05-12 16:43:41 263

原创 UIView -> image & 本地时间获取

//UIView 转换为图片UIGraphicsBeginImageContext(self.rootsView.bounds.size);[_rootsView.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewBeImage = UIGraphicsGetImageFromCurrentImageCo

2016-05-12 16:43:37 265

原创 SVN的使用(转发)

http://my.oschina.net/joanfen/blog/194491?fromerr=LM5QY3YF

2016-05-12 16:43:33 536

原创 键盘遮挡住输入框的问题

注册键盘弹起与收起通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];-(void)keyboardWillShow:(NSNotification *)no

2016-05-12 16:43:28 264

原创 iOS: TableView如何刷新指定的cell 或section

//一个section刷新    NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];    [tableview reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];     //一个cell刷新    NSIndexPa

2016-05-12 16:43:22 364

原创 设置UILabel可变高度(根据文本内容自动适应高度)

@property(nonatomic)UILabel *showLabel;  // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高度 // 第二个参数:CGSize结构体,结构体中第一个参数表示宽度,宽度的设置影响计算文本的高度,很明显越宽,高度越小;结构体中第二个参数表示最大能有多高,比如我们写为100,

2016-05-12 11:01:05 1132

空空如也

空空如也

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

TA关注的人

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