IOS开发
河马流星锤
@"Talk is cheap, show me the code"
展开
-
iOS开发中URL图片存储到本地相册与相册访问权限
第一部分注意 :本段代码 直接放入button点击事件中即可UIImageView *gtp = [[UIImageView alloc] init]; ZGLPhotoModel *model = _modelArr[_currentPage]; [gtp setImageWithURL:[NSURL URLWithString:model.raw_url]]; UIIma原创 2015-11-08 13:02:28 · 3723 阅读 · 0 评论 -
Experience with UIWebView(iOS UIWebView截取的一些使用经验)
Maybe you can find some experience, you didn’t pay attention to when you use UIWebView1.UIWebView methods and property2.UIWebViewDelegate methods3.Use notesUIWebView methods(void)loadData:(NSData )原创 2016-01-27 11:40:35 · 741 阅读 · 0 评论 -
iOS开发BaseModel的创建和使用(基类)
ios开发中数据处理和视图有许多重复使用的地方, 基类的使用可以有效的避免每次都写, 把重复的东西写到基类中, 正常创建的Molde类只需要继承基类即可, 这样有效的提高编码速度和代码质量, 基类还包括其他(BaseController, BaseView)等, 本文以BaseModel数据部分的基类为例。先贡献基类的代码附带简单的说明/* BaseModel.h文件 */#import <Fo原创 2016-01-29 11:06:30 · 5680 阅读 · 0 评论 -
iOS获取设备信息和获取当前屏幕状态
建议使用单利然后定义一个宏放到pch里, 这样比较方便下面是自己封装的一个类。* 上代码/* CurrentDevice.h *//* 提供两种单利创建方式 */#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface CurrentDevice : NSObject+ (instancetype)sharedDe原创 2016-01-29 11:43:26 · 1230 阅读 · 2 评论 -
iOS MBProgressHUD的简单使用
活动指示器, 用于等待加载时展示的菊花需先将MBProgressHUD SDK拖入工程中如果使用cocoapods管理三方SDK自己在终端搜索MBProgressHUD即可https://github.com/jdg/MBProgressHUD.git 没有SDK的这里Down一个- (void)MBP { HUD = [[MBProgressHUD alloc] init];原创 2016-01-29 17:37:06 · 755 阅读 · 0 评论 -
给控件添加虚线边框(UIBezierPath)
先来张效果图/* 自定义的方法, 实际使用时的传入参数以自己需求为准 */- (void)addLayerWith:(UIView *)view { /* 初始化一个layer */ CAShapeLayer *border = [CAShapeLayer layer]; /* 虚线的颜色 */ border.strokeColor = [UIColor whiteC原创 2016-03-29 16:26:42 · 4941 阅读 · 1 评论 -
使用AFN 的POST请求出现错误"Error Domain=NSCocoaErrorDomain Code=3840 "决绝方案
使用最新版本的AFN 进行HTTP的网络请求偶尔遇到的问题, 有时候自己就解决了, 也不知道原因, 后来 stackOverFlow上看到一个答案试了一下 可以解决 不过他的都是用C 写的, 简单改了一下 还是使用AFN代码/* 主要就是给 请求的过程添加一个安全政策的对象 并使用 */+ (void)POSTWithURL:(NSString *)url withBody:(id)body w原创 2016-03-04 15:44:54 · 8471 阅读 · 1 评论 -
UITableView滚动到底部(用于评论回复)
用于评论回复时发送后消息列表滚动到你回复的楼层方法调用 随便button点击事件或者其他编辑事件中触发都可以- (IBAction)send:(UIButton *)sender {#warning 发送输入的文字到服务器 [self tableView:_commentsListTBV scrollTableToFoot:YES];}方法实现- (void)tableView:原创 2016-03-31 10:03:56 · 1025 阅读 · 0 评论 -
UITextView自定义封装(带placeHolder)
根据我们的开发需求, 有时候UITextField不足以满足我们, 比如多行输入时, 不得不使用新的控件.本篇文章对UITextView进行了重写和封装, 希望可以帮助大家. 重新定义封装UITextView 使用方法 常见问题 注意: PlaceHolderTextView为作者所起的名字, 可以随便叫什么UITextView重写封装/* .h文件 */#impor原创 2016-03-22 15:14:56 · 492 阅读 · 0 评论 -
NSAttributedString的21种属性详细介绍(图文混排)
说明: NSAttributedString 可以非常方便的实现文字排版和图文混排功能. 共有21中效果(API), 本文将较详细的介绍21种的属性的使用 注: 本博客由@凡俊编写, @Scott, @春雨 审核, 若转载此文章,请注明出处和作者核心API:类: NSAttributedString, NSMutableAttributedString API:/**转载 2015-11-23 11:55:42 · 379 阅读 · 0 评论 -
基于NSAttributedString与正则表达式实现的图文混排
说明: 本文通过类目为NSAttributedString添加两个新的方法, 实现基于正则表达式的简单图文混排 根据这两个方法封装一个现实图文混排的MixLabel 注: 本文由@河马流星锤编写, 转载请注明出处和作者使用效果图核心方法类: NSMutableAttributedString/** 传入参数为NSString, 返回黑色的字和图片 */+ (NSMutableA原创 2016-02-26 12:59:48 · 885 阅读 · 0 评论 -
iOS 调试问题记录(二)
1.通知中心推出界面或者控件时, 连续推出两次 问题原因: 通知中心的添加和移除 是成对出现的 有得时候移除的方式不对就会出现这种情况 解决办法:#define mFNotiCenter [NSNotificationCenter defaultCenter] /* 定义一个宏 省的每次都打麻烦 放在pch文件 */@interface ClassificationViewContro原创 2016-04-19 15:51:35 · 457 阅读 · 0 评论 -
ios 贝塞尔曲线切割圆角
ios 系统框架已经给我们提供了响应的切割圆角的方法, 但是如果在一个见面有很多控件切割的话会出现卡顿和个别不切得现在/* 创建一个Button */ UIButton * button = [UIButton buttonWithType:(UIButtonTypeSystem)]; [button setFrame:CGRectMake(100, 100, 100, 100原创 2016-05-25 17:11:41 · 6460 阅读 · 1 评论 -
GitHub代码合成指南
准备工作1.一个GitHub账号 2.一个GitHub Desktop (Git mac 应用程序)3.代码托管仓库链接(也是一个GitHub账号, 用来存放代码, 可能几个人共同开发, 最后都要合到这个库);F . 申请合代码者步骤1、用浏览器打开项目源码地址2、Fork目标代码。3、进入之后点击 电脑下载标识 (clone到本地)4、接下来完成之后在我的电脑中Finder里, 用户文件夹就可找原创 2016-05-05 14:41:05 · 5003 阅读 · 0 评论 -
iOS 调试问题记录(三)
1.directory not found for option 去掉警告的方法问题原因: 工程提示⚠️ warning: directory not found for option:xxxxxx 这种提示,通常是由于添加了第三方SDK,但是后来改了个名字或者去掉了SDK, 但是在 Build Settings—–>Search Paths—–>Library Search Paths 中仍然没原创 2016-05-13 09:58:32 · 2100 阅读 · 0 评论 -
AFNetworking最新版本与NSFileManager自制缓存
GET请求封装 注意: 先将AFNetworking三方文件拖入工程这段方法粘在新类的.h文件中创建新类基于NSObject, 定义需要用到的枚举#import <Foundation/Foundation.h>/* 表示返回数据类型 */typedef NS_ENUM(NSUInteger, responseStyle) { DATA, JSON, XML,};/原创 2015-11-13 20:06:05 · 2435 阅读 · 1 评论 -
iOS 调试问题记录(一)
1.跑真机启动页直接死掉, 控制台提示dyld: Symbol not found: ___NSArray0__Referenced from: 和Expected in: /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation in /private/var/mobile/Containers/Bundle/Applic原创 2016-03-10 13:38:22 · 1804 阅读 · 0 评论 -
cocoaPods的安装和使用教程(附带图)
gem-注意修改ruby源 gem -v //获取gem版本信息,查看当前版本是否为最新,否则下一步更新版本 gem update --system //可能需要管理员权限,sudo gem sources --remove https://rubygems.org/ //移除旧的ruby源 gem sources -a https://ruby.taobao.or原创 2015-11-13 17:37:06 · 968 阅读 · 0 评论 -
iOS9.2 PCH文件的创建和使用
PCH 可以用来存储共享信息,比如设备屏幕的宽度,高度,版本号等等 公用信息❀ + n 创建文件, 选择iOS分组下的Other 可以找到PCH File 点击创建即可 点击工程的target 进入Build Settings分组在搜索中输入 apple 找到Apple LLVM Xcode版本 - language中的 Prefix Header的值 新建成 创建好的PCH 路径进行关联即可原创 2015-11-14 09:57:49 · 780 阅读 · 0 评论 -
OOD, OOA和OOP
OOA和OOD的区别OOA:Object Oriented Analysis 面向对象分析方法OOD:Object Oriented Design 面向对象设计 1)OOA将现实世界中的实体抽象为问题对象,并构造问题域中的系统需求模型;OOD将 问题对象转化为解域中的类并在解域中构造出问题的解。 2)OOA侧重于用户需求的分析和对问题域的理解,分析人员关心的是系统结构及对象间 的关系;OOD原创 2015-11-27 12:08:45 · 1169 阅读 · 0 评论 -
iOS UIcollectionView 和 UITableView 限制item 或cell的交换方法
UIcollectionView限制item的交换注意:其中的_optionsArr.count根据自己的需求为准- (NSIndexPath *)collectionView:(UICollectionView *)collectionView targetIndexPathForMoveFromItemAtIndexPath:(NSIndexPath *)originalIndexPath to原创 2015-11-09 10:27:24 · 1832 阅读 · 0 评论 -
NSUserdefaults的创建方法及相关知识点
NSUserdefaults的创建方法及相关知识点核心APIclass : NSUserdefaults delegate : 无 涉及的API : (API的官方详细注释(英文)详见本章结尾)/** 1. 获取个公有的NSUserdefaults实例(系统中提供的) */+ (NSUserDefaults *)standardUserDefaults+ (void)resetStandar原创 2015-11-13 17:21:44 · 527 阅读 · 0 评论 -
iOS9获取所在城市的接口及解析(简单的NSURLSession使用和新的编码方法使用)
/* 定位当前城市的方法调用 */[self asynGETJSONWithURL:@"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" completion:^(id result) { NSLog(@"%@", result[@"city"]); }];/* 方法实现 */- (void)as原创 2015-11-13 17:33:29 · 655 阅读 · 0 评论 -
iOS后台播放音频
1、在Info.plist中,添加”Required background modes”键,其值设置如下图所示: 2、添加AVFoundation框架,然后再添加如下两段代码添加后台播放代码://后台播放音频设置 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setAct原创 2015-11-13 17:19:19 · 398 阅读 · 0 评论 -
IOS 图片异步加载 - UIImageView(AFNetworking)
IOS 图片异步加载 - UIImageView(AFNetworking) 说明 : AFNetworking是一个在进行iOS和Mac OS X 开发时使用广泛的第三方网络类库, 他建立在系统的URL加载系统框架之上, 扩展了Cocoa中更强大, 更高级网络提取功能.它有一个与精心设计的模块化的体系结构, 以及功能丰富的api介绍, 相信使用它会是一件快乐的事情. U原创 2015-11-13 17:20:16 · 1529 阅读 · 0 评论 -
iOS汉字转拼音(NSString+Characters)为NSString添加的类目
NSString+Characters.h声明方法#import <Foundation/Foundation.h>@interface NSString (Characters)/* 将汉字转换为拼音 */- (NSString *)pinyinOfName;/* 汉字转换为拼音后,返回大写的首字母 */- (NSString *)firstCharacterOfName;/* 所有汉字全部转原创 2015-11-13 20:31:36 · 665 阅读 · 0 评论 -
iOS相机, 相册, 图片库 和 UIAlertController的使用
签两个代理<UIImagePickerControllerDelegate, UINavigationControllerDelegate>创建UIImagePickerController对象/* 创建对象 */ UIImagePickerController *picker = [[UIImagePickerController alloc] init]; /* 照片是否可以编辑原创 2015-11-13 20:45:46 · 866 阅读 · 0 评论 -
iOS9 UICollectionView新推出的Item排序方法
协议签订 创建UICollectionView 指定代理人 添加手势 手势方法实现 代理方法实现UICollectionView协议签订 添加属性@interface ZGLSubscribeCell () <UICollectionViewDataSource ,UICollectionViewDelegate>@property (nonatomic, stron原创 2015-11-14 09:05:28 · 4645 阅读 · 0 评论 -
iOS 16进制颜色字符串转换成可以正常使用的UIColor
“#ffffff”类型的十六进制字符串转换成数字 分段截取计算UIColor的RGB 直接返回颜色传入字符串后分段截取调用字符串转换Int的方法- (UIColor *)getColor:(NSString *)hexColor { NSString *string = [hexColor substringFromIndex:1];//去掉#号 unsigned int原创 2015-11-14 09:21:19 · 2917 阅读 · 0 评论 -
iOS 网络请求图片下载到本地相册
创建UIImageView对象UIImageView *gtp = [[UIImageView alloc] init]; ZGLPhotoModel *model = _modelArr[_currentPage]; **重点内容** [gtp setImageWithURL:[NSURL URLWithString:model.raw_url]]; UIImage原创 2015-11-14 10:38:19 · 1505 阅读 · 0 评论 -
NSOrderedSame NSOrderedAscending NSOrderedDescending字符串枚举比较
字符串的比较,用 a compare:b 字母比较 越靠后面 越大 NSString *a = @"qweqwe"; NSString *b = @"qweasd"; BOOL result = [a compare:b]; if (result == NSOrderedSame) { // NSOrderedSame = 0 完全一原创 2015-11-16 20:26:37 · 551 阅读 · 0 评论 -
iOS工程中编译器报黄警告
解决方法:1.选择你的工程 2.选择target 3.点击 Build Phases 4.展开Copy Bundle Resources 5.删除里面的刚才提示警告的文件, 一般是后面不带路径的那个原创 2015-11-08 12:57:23 · 720 阅读 · 0 评论 -
OC那些事(常用关键字, 概念)
常用关键字@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@protocol配合使用,说明协议中的某个方法或者某几个方法必须实现@end与@interface ,@implementation,@protocol配合使用,代表声明或者实现结束@encod原创 2015-11-16 20:20:24 · 382 阅读 · 0 评论 -
iOS获取本地时间和APP中显示时间XX分钟/小时之前
代码实现/* 获取本地时间 */- (NSString *)getNowTime { NSDate *senddate=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dateformatter setDateFormat:@"YYYY-MM-dd HH:mm:s原创 2015-11-23 21:08:35 · 4433 阅读 · 0 评论 -
iOS Line drawing tool(画线类, 直线和 折线)
DrawLine.h文件 注 : 本文在MRC下实现, 如果使用ARC注意内存管理部分#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface DrawLine : NSObject/* 折线 */+ (void)drawCenter:(UIImageView *)imageView withBeginX:(CG原创 2015-11-23 14:12:02 · 413 阅读 · 0 评论 -
iOS中ASIHTTPRequest和AFNetworking的区别
注 : 原文 http://www.cnblogs.com/ranhelei/p/4696649.html1.底层实现(1) AFN的底层基于OC的NSURLConnection和NSURLSession(2) ASI的底层基于纯C语言的CFNetwork框架(3) ASI的运行性能高于AFN2.对服务器返回的数据处理(1) ASI没有直接提供对服务器数据处理的方式,直接返回data\strin原创 2015-11-24 13:55:15 · 859 阅读 · 0 评论 -
iOS懒加载
本文来谈一谈在开发中非常实用的懒加载技术吧! 所谓的懒加载可以定义为:延时加载,即当对象需要用到的时候再去加载。其实就是所谓的重写对象的get方法,当系统或者开发者调用对象的get方法时,再去加载对象。 需要注意:重写get方法时,先判断对象当前是否为空,为空的话再去实例化对象 懒加载的优点 不需将对象的实例化写到viewDidLoad,可以简化代码,增强代码的可读性 对象的实例化在get原创 2015-11-19 09:16:17 · 282 阅读 · 0 评论 -
iOS计算缓存文件大小, 和清除缓存功能
注 第一个方法被第二个方法调用(不需要自己调用, 也要写入工程)#pragma mark ** 获取单个文件大小/* 获取单个文件数据大小*/- (long long)fileSizeAtPath:(NSString*)filePath { /* 创建文件管理者对象 */ NSFileManager *manager = [NSFileManager defaultManag原创 2015-11-13 20:14:44 · 1139 阅读 · 0 评论