- 博客(95)
- 收藏
- 关注
原创 爱福窝装修隐私政策
本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于...
2018-10-04 10:24:07
337
转载 iOS中使用RSA加密
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密. 首先需要先生成这些文件,然后再将文件导入工程使用,不多说,开始做!一、使用openssl生成所需秘钥文件 生成环境是在mac系统下,使用openssl进行生成,首先打开终端,
2017-05-17 15:56:10
551
原创 iOS友盟推送零基础集成
1. 集成前的准备集成之前, 请在http://push.umeng.com/申请开通【友盟+】消息推送服务2. 应用配置请先在【友盟+】消息推送管理后台中创建App,获得AppKey和AppSecret 2.1 导入SDK所需SDK文件夹:UMessage_Sdk_x.x.x 请在你的工程目录结构中,右键选择Add->Existing Files…,选择这个文件
2017-04-13 10:05:08
2560
原创 iOS TextField修改placeholder颜色大小问题
最近用KVC修改出现了莫名其妙的问题。代理方法有时候走有时候不走,建议大家少用这种黑魔法修改. [self.titleField setValue:UIColorFromRGB(0x999999)forKeyPath:@”_placeholderLabel.textColor”]; [self.titleField setValue:[UIFont systemFontOfSize:14]for
2017-03-30 09:50:16
406
原创 iOS检测推送通知是否开启
if ([[UIDevice currentDevice].systemVersion floatValue]>=8.0f) {UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];if (UIUserNotifica
2017-03-29 11:36:16
1152
转载 iOS开发后期在各个页面中添加友盟统计
最近项目已经上线,可上线后老板又让添加一个友盟统计,以便运营查看,于是本人便开始看友盟统计的开发文档了。友盟统计中要求在每个页面的viewWillAppear和viewWillDisappear方法中添加友盟统计的方法:- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:YES];
2017-03-21 15:33:11
1770
原创 iOS中文输入法的键盘上有联想、推荐的功能,所以可能导致文本内容长度上有些不符合预期,导致越界
中文输入法的键盘上有联想、推荐的功能,所以可能导致文本内容长度上有些不符合预期,导致越界* Terminating app due to uncaught exception ‘NSRangeException’, reason: ‘NSMutableRLEArray replaceObjectsInRange:withObject:length:: Out of bounds’ 处理
2017-03-21 10:37:29
1648
原创 iOS两种方法删除NSUserDefaults所有记录
//方法一NSString *appDomain = [[NSBundlemainBundle] bundleIdentifier];[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];//方法二- (void)resetDefaults { NSU
2017-03-21 10:34:08
988
原创 MD5加密
//md5 32位小写+ (NSString *)md5:(NSString *)str{ const char *cStr = [strUTF8String]; unsigned char result[16]; CC_MD5(cStr, (CC_LONG)strlen(cStr), result); return [NSStr
2017-03-21 10:25:49
257
转载 iOS开发中遇到过的坑
前言做iOS开发这么长时间以来,遇到过不少难题,也踩过不少坑,本来没想过要写这篇文章,但是鉴于以下三点,笔者决定对遇到过的并且还能回忆起来的问题做个记录。每次问题解决后,满满的成就感,但是当下一次再遇到时,又是一脸懵逼。这个问题我好像见过,但就是不记得怎么解决,记录下来方便以后查阅。每次面试的时候,面试官总会问我,你在开发中遇到过哪些问题,怎么解决的?问题嘛,挺
2017-02-20 17:19:54
391
转载 关于获取键盘通知信息的处理
1.NSValue:NSValue提供了简单的容器来包含C或Objective-C数据项。可以容纳任何基本数据类型如char,int,float,double,以及指针,结构体和对象ids。NSArray和NSSet集合类对象要求它们的元素为对象类型,NSValue的主要目的是使这些数据类型可以添加至集合中。NSValue对象是不可变类型。 简而言之,NSValue是基本数据类型或自定义数据类
2017-02-17 13:56:10
271
转载 iOS 知识-常用小技巧大杂烩
1. 打印View所有子视图po [[self view]recursiveDescription]2. layoutSubviews调用的调用时机* 当视图第一次显示的时候会被调用* 当这个视图显示到屏幕上了,点击按钮* 添加子视图也会调用这个方法* 当本视图的大小发生改变的时候是会调用的* 当子视图的frame发生改变的时候是会调用的* 当删除子视图的时候是会调用的
2017-02-07 13:48:38
1095
转载 AES加密 - iOS与Java的同步实现
AES是开发中常用的加密算法之一。然而由于前后端开发使用的语言不统一,导致经常出现前端加密而后端不能解密的情况出现。然而无论什么语言系统,AES的算法总是相同的, 因此导致结果不一致的原因在于加密设置的参数不一致 。于是先来看看在两个平台使用AES加密时需要统一的几个参数。密钥长度(Key Size)加密模式(Cipher Mode)填充方式(Padding)初始向量(Initiali
2016-08-30 09:15:38
583
原创 iOS 修正拍出来的照片的方向
+(UIImage *)fixOrientation:(UIImage *)aImage { // No-op if the orientation is already correct if (aImage.imageOrientation == UIImageOrientationUp) return aImage; //
2016-08-12 12:32:15
1030
转载 iOS开发零碎知识点(一)
1.带有中文的URL处理。(非UTF-8处理,注意一下)大概举个例子,类似下面的URL,里面直接含有中文,可能导致播放不了,那么我们要处理一个这个URL,因为他太操蛋了,居然用中文。http://static.tripbe.com/videofiles/视频/我的自拍视频.mp4NSString *path = (__bridge_transfer NSString *)
2016-08-12 09:25:21
366
原创 iOS封装常用的方法
//根据日期算出周几+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate{ NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];
2016-08-11 16:13:21
1120
原创 iOS 将系统导航栏的一条黑线换成自定义的颜色
if ([self.navigationController.navigationBarrespondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){ NSArray *list=self.navigationController.navigationBar.subviews; f
2016-08-10 11:43:39
1007
原创 iOS pop出指定的控制器
1、取navigationCtroller中的Controllers NSArray * ctrlArray = self.navigationController.viewControllers; 2、取出后,执行, [self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animat
2016-08-09 12:59:23
699
原创 iOS 过滤输入Emoji表情的问题
服务器端不支持Emoji表情,因此客户端在上传用户输入时,不能包含Emoji表情。在客户端发送请求前,判断用户输入中是否含有表情,如果含有表情,则提示用户重新输入。这个过程关键是如何判断字符串中是否含有Emoji表情。以下是具体代码,可以写到工具类中,以后肯定会有用到//判断是否为表情符号+ (BOOL)stringContainsEmoji:(NSString
2016-08-08 19:53:22
1365
原创 iOS 判断输入框是否全是空格的判断
最近一直忙着做项目遇到很多问题,今天有空就帮记录下来,好久没写博客了,以后还是保证有时间就写一点,这样才能进步。最近做的一个回复帖子的项目遇到很多问题,有个简单的问题就是回复空格也能回复,然后在网上找到一个代码,感觉不错就记录下来,可以写到工具类中。//判断是否全是空格+ (BOOL) isEmpty:(NSString *) str { if (!str)
2016-08-08 19:50:41
5127
原创 iOS 各种常用的正则表达式
//判断是否为空字符+(BOOL) judgeNil:(NSString *)string { if (string == nil || string == NULL) { return NO; } if ([string isKindOfClass:[NSNull class]]) { return NO; }
2016-04-26 17:17:23
306
原创 iOS 将原点移动到navigationBar下面(或UIScrollView和 cell加载子视图偏移64问题)
解决这个问题只需要在工程里面添加以下几句代码,即可 if ([[[UIDevice currentDevice] systemName] floatValue]>7.0?YES:NO) { self.edgesForExtendedLayout = UIRectEdgeNone; (iOS7.0以上兼容适配) self.automat
2016-04-20 16:02:23
954
原创 iOS切控件的半边圆角
UIView *view2=[[UIViewalloc]initWithFrame:CGRectMake(100,100, 100,100)]; view2.backgroundColor=[UIColorredColor]; [self.viewaddSubview:view2]; UIBezierPath *maskPath = [
2016-04-19 15:48:53
4018
转载 iOS中根据网络环境显示不同图片
首先说一下怎么监听网络状态的改变监听网络状态的改变可以使用苹果提供的Reachability来检测网络状态,也可以使用AFN框架来监听网络状态的改变.相比而言,我更推荐大家使用AFN来监听如何使用AFN来监听网络状态的改变呢?AFN框架中的AFNetworkReachabilityManager是专门用来监听网络状态的改变.可以点进去AFNetworkReachabilityMan
2016-04-18 15:28:37
406
原创 iOS获取UUID,并使用keychain存储,将账号密码存到keychain中
1.新建一个工程,看一下自己的Bundle Id.这个Bundle Id 要和你用真机测试时的证书上面的Bundle Id相匹配。2.Target - Capabilities - Keychain Sharing - ON左侧的目录会自动生成Entitlements文件,不需要自己创建了。也就是说,Bundle Iden
2016-04-15 14:59:46
2583
转载 CollectionView列表性能优化
概述本篇一起来学习如何优化UICollectionView实现的网格布局,这里只是展示图片和文字,但是图片比较大,而且比较多。在优化之前,很明显的一卡一卡的。在优化之后,FPS达到了平稳的58~60,快速滚动时,基本都是60,而且在优化后通过Core Animations检测已经没有离屏渲染、图层混合等。优化后的FPS效果图这是在前一篇讲如何
2016-04-01 14:38:28
2562
转载 iOS如何在Xcode7中手动添加Precompile Prefix Header?
Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性。但是在Xcode6中去掉Prec
2016-04-01 09:30:55
2166
转载 iOS 计算字符串高度
公共类.h里/** 返回自适应高度的文本 */+ (CGSize)sizeWithString:(NSString *)string font:(CGFloat)font maxWidth:(CGFloat)maxWidth;/** 返回自适应宽度的文本 */+ (CGSize)sizeWithString:(NSString *)string font:(
2016-04-01 09:25:50
440
转载 iOS 图片大小压缩 图片尺寸处理
图片的压缩其实是俩概念,1、是 “压” 文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,2、是 “缩” 文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。这个 UIImageJPEGRepresentation(image, 0.0),是1的功能。这个 [sourceImage drawInRect:CGRectMake(0,0,targetWidt
2016-04-01 09:23:54
595
转载 iOS在更改用户头像并保存至本地沙盒目录中对于UIImagePickerController、UIAlertController的使用
.h#import //获取系统版本号#define IS_iOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 ? YES : NO)//获取屏幕尺寸#define SW [UIScreen mainScreen].bounds.size.width#define SH [UIScreen mainScr
2016-03-31 14:04:46
1406
转载 自定义网络请求图片的大小
NSURL *url = [NSURL URLWithString:[[self.imageSource objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]];UIImage *icon = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];C
2016-03-30 13:51:43
378
原创 iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决
在自定义返回按钮的时候,侧滑手势返回往往默认失效了,怎么让侧滑有效呢 UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom]; [btn setTitle:@"返回" forState:UIControlStateNormal]; [btn addTarget:self action:@se
2016-03-10 17:59:05
1515
原创 iOS UINavigationController popToViewController用法
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];或for (UIViewController *controller inself.navigationController.viewControll
2016-02-25 17:48:39
487
原创 iOS app 加急审核
下面进入正题。提交完成后进入加急审核页面。链接:https://developer.apple.com/appstore/contact/appreviewteam/index.html下面是最重要的邮件内容也是决定能不能打动审核官的理由加速是否能申请成功,关键是看你填写最后部分的描述比如你
2016-02-25 11:02:04
430
原创 iOS 当运行Xcode6时,编译代码成功,但是登陆模拟器失败,显示错误:The Operation couldn't be completed.(LaunchServicesError error
解决办法:第1种方法.点击当前的模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后会重置模拟器,再编译代码可登录模拟器成功 第2种方法.点击Xcode->Product->Clean 第3种方法.将模拟器上的当前运行的app删除,再重新加载(长按模拟
2016-02-23 09:15:28
5087
原创 iOS 给label加下划线或者中划线
UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; NSDictionary *attribtDic = @{NSUnderlineStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};
2016-02-16 11:16:19
2611
原创 iOS判断设备
//判断是否为iphone5+ (BOOL)isiPhone5oriPod5{ UIScreen *screen = [UIScreen mainScreen]; CGFloat height = screen.bounds.size.height; CGFloat scale = screen.scale; if (height * scale =
2016-01-29 17:32:35
281
转载 iOS获取app的版本号
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; NSString *name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; NSString *version = [infoDictionary objectForKey:@"C
2016-01-28 17:03:10
274
转载 iOS开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法一、延迟执行1.介绍iOS常见的延时执行有2种方式(1)调用NSObject的方法[self performSelector:@selector(run) withObject:nil afterDelay:2.0];// 2秒后再调用self的run方法 (2)使用GCD函数dispatch_after(dispatch
2016-01-27 14:02:28
261
原创 iOS调用系统相册,相机上传头像的基本技巧
//头像点击事件-(void)photoViewBtn{ UIActionSheet* sheet = [[UIActionSheet alloc ]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil
2016-01-26 17:11:56
350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人