ios
柏灿
iOS,前端,混合开发
展开
-
H5跳转至APP指定页面
1.设置urlschemesurlschemes尽量设一个唯一的字符串,例如可以设为:iOS+公司英文名+ 项目工程名 比如我的设为iOSTencentTest,在浏览器中输入地址iOSTencentTest://即可跳转到我的app2.跳转到指定页面在使用iOSTencentTest://打开app会调用AppDelegate的代理方法-(BOOL)application...转载 2018-11-13 09:26:45 · 9444 阅读 · 0 评论 -
AFNetworking 2.x 修改适配IPV6
由于6月1日起苹果将开始强制app适配iPV6,所以用老版本的AFNetworking 上线审核会被拒 如果不想更换最新的AF库可以在这里面进行修改查看项目中 AFNetworkReachabilityManager Class 是否包含AF_INET、struct sockaddr_in 。+ (instancetype)sharedManager { stat原创 2016-08-08 13:12:48 · 2298 阅读 · 0 评论 -
ios文件目录路径及NSUserDefaults
1,获取家目录路径的函数: NSString *homeDir = NSHomeDirectory(); 2,获取Documents目录路径的方法: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docDir =原创 2016-08-03 14:35:45 · 827 阅读 · 0 评论 -
iOS base64编解码
IOS编码NSString *base=@"220960|701|1|1466499045"; NSData *data=[base dataUsingEncoding:NSUTF8StringEncoding]; NSString *base64String = [data base64EncodedStringWithOptions:0]; NSLog(原创 2016-06-23 15:54:13 · 840 阅读 · 0 评论 -
iOS模拟器上下部分黑屏
有时候我们新搭建项目的时候发现模拟器上下部分黑屏如下图:这是因为我们没给它设计启动图解决办法:选取LunchScreen 再次运行关于TabBar的突出按钮可以看我的另外一篇博客欢迎交流原创 2016-06-23 14:50:52 · 710 阅读 · 0 评论 -
iOS APP之本地数据存储
这里推进两篇文章大家自行去阅读http://www.jianshu.com/p/a3eeae99e902# http://blog.csdn.net/shan1991fei/article/details/51469426 这样的话我觉得本地存储就差不多了 感谢简书作者 hosea_zhou原创 2016-07-29 15:11:07 · 641 阅读 · 0 评论 -
ios启动图片的延时
有时候我们希望启动页图片在APP里面多停留一段时间其实我们可以在Appdelegte里面的代理方法中完成此设置 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customiz原创 2016-06-16 16:39:27 · 1605 阅读 · 0 评论 -
iOS设置PCH文件的相对路径
1、个人对PCH 的理解:PCH 文件是针对一些宏定义的,常用的变量的定义或常用到的类,只要在PCH 中定义的变量,在整个工程中都可以使用,如果多个类需要导入很多类,我们可以在PCH文件中导入需要导入的类,在使用的类里面导入pch头文件就可以了2、在工程中新建一个PCH 文件:New File ->Other ->PCH File(这就是需要新建的pch文件,点击改好名字和路径) ->Cr原创 2016-06-16 14:36:29 · 1443 阅读 · 0 评论 -
根据邓白氏号码查询公司信息
公司重新申请开发者账号,我提交的公司名称与邓白氏中的公司名称不一样,试了好计策都是坑,终于找到一种方法先直接查询公司的信息再提交,邓白氏官方查询地址https://www.dandb.com/search/打开之后即可输入公司的邓白氏码查询原创 2016-06-15 15:57:53 · 18461 阅读 · 2 评论 -
关于iosAPP跳转代理方法不调用问题
ios9之前只需要实现以下方法即可实现代理调用-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation在ios9或以上必须实现以下两个方法,如果只实现第一个可能会导原创 2016-06-06 20:42:36 · 3073 阅读 · 0 评论 -
几种常用的本地化存储方式
概论所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite 3CoreData沙盒在转载 2016-05-21 11:04:42 · 6334 阅读 · 0 评论 -
ios定制中间突出的tabBar
先展示效果图:这个tabBar纠结了我好久,最后通过查询资料各种百度谷歌终于找到一个比较符合我们需求的案例,下面展示出代码供各位参考@interface BaseTabBarViewController ()@property (nonatomic,strong)UIButton *button;@end@implementation BaseTabBarViewContr原创 2016-06-23 14:57:46 · 8323 阅读 · 4 评论 -
iOS tableViewscell的动画效果
ios原生里面有一个自己感觉很炫的动画效果,在tableView的滚动时cell的一种弹出动画在cell即将显示时对index path位置的cell进行操作,下面是我自己项目中的代码判断方法可以去掉-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexP原创 2016-06-02 16:42:28 · 2185 阅读 · 0 评论 -
【iOS】Xib的使用与File'Owner总结
一、XIB的适用范围xib(也叫Nib)与storyboard一样是用来描述界面的。storyboard描述的是比较大型的,大范围.适合描述界面跳转等.二、XIB的使用Xib是小范围的的,是轻量级的.比较适合描述小块的界面.创建xib:新建界面里面user interface --》empty.加载xib:[NSBundle ma转载 2016-06-01 09:40:13 · 729 阅读 · 0 评论 -
一些常用的正则表达式及一些扩展
/** * 手机号码验 * * @param mobile * * @return */+ (BOOL)isValidateMobile:(NSString *)mobile{ NSString *phoneRegex = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\\d{8}$";//@"^1\\d{10}$"; NSPre原创 2016-05-17 15:35:53 · 890 阅读 · 0 评论 -
iOS内存优化常用方法
1. 用ARC管理内存ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你转载 2016-05-28 23:30:43 · 1565 阅读 · 0 评论 -
收藏的一些干货
自己画一个ActivityIndicatorViewhttp://mp.weixin.qq.com/s?__biz=MzIwOTQ3NzU0Mw==&mid=2247483871&idx=1&sn=cff6803d85c540edc4138b11733af047&scene=0#wechat_redirect项目中常用功能,如:流媒体、健康数据(步数等)等http://mp.weixi原创 2016-08-23 17:55:14 · 305 阅读 · 0 评论 -
iOS常用公共方法
1. 获取磁盘总空间大小[Objective-C] 查看源文件 复制代码?010203040506070809101112131415//磁盘总空间+ (CGFloat)diskOfAllSizeMByt转载 2016-09-08 03:28:11 · 334 阅读 · 0 评论 -
Swift 中的SDWebImage类似库Kingfisher
Kingfisher (中文名:翠鸟) 是一个异步下载和缓存图片的库,SDWebImage的Swift 实现版。https://github.com/onevcat/KingfisherRequirementsiOS 8.0+, tvOS 9.0+, watchOS 2.0+ or OS X 10.10+Xcode 7.3 or above从3月24起Kin转载 2016-09-20 17:37:28 · 1494 阅读 · 0 评论 -
iOS运行时实现归档解档
一、什么是运行时(Runtime)?runtime是一套比较底层的纯C语言的API,runtime就是一个库,一个C语言库,包含了许多底层的C语言API平时我们编写的OC代码,在程序运行过程中,其实最终都是转成了runtime的C语言代码,runtime算是OC的幕后工作者,是整个OC的底层举个例子oc中的代码:[Student alloc] init]经过runtime后,其转载 2017-04-18 15:23:47 · 1957 阅读 · 0 评论 -
如何设计一个 iOS 控件?(iOS 控件完全解析)
版权声明:如需转载,请注明出处,谢谢!目录(?)[+]代码的等级:可编译、可运行、可测试、可读、可维护、可复用前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个转载 2017-04-11 11:26:29 · 546 阅读 · 0 评论 -
GCD串行并发队列扫盲
本篇一起来学习GCD队列相关知识及如何使用。一直以来都是看到过别人这么用,说实在的,还真没有学过文档,也没有深入研究过其所以然。今天一起来看看苹果的GCD队列相关知识,扫一扫盲区吧!学习完本篇,您会对以下知识点更加理解: 队列、串行队列、并发队列、GCD全局队列、GCD主队列、创建串行队列、创建并发队列。队列基础知识在大学学习过队列、栈数据结构吧?如果学习过,应该是非常容易理解的。不管转载 2017-02-23 15:25:55 · 385 阅读 · 0 评论 -
GCD详解
虽然GCD使用很广,而且在面试时也经常问与GCD相关的问题,但是我相信深入理解关于GCD知识的人不多,大部分是人云亦云,只是使用过GCD完成一些很简单的功能。当然,使用GCD完成一些简单的功能,通常已经能够满足我们的需求了。不过,笔者比较喜欢刨根问底,因此在这里记录下学习的过程。GCD是Grand Central Dispatch的简称,它是基于C语言的。使用GCD,我们不需要编写线程代码,其转载 2017-02-23 15:24:41 · 7837 阅读 · 0 评论 -
谈Runtime机制和使用的整体化梳理
相比“凌波微步”的Swift,Object-C被誉为“如来神掌”。传说Runtime就是支持这“如来神掌”说法的最好体现。听起来总是这么的神秘高级,于是总能在各个论坛看到碎片资料,时间一长总记不住哪里是哪里,每次都要打开好几个网页。这种记不住象现显然是知识体系还不完整重要体现。还是自己从Runtime的思想到动手代码呈现上做出总结尚为上策。学习流程图一、基本概念转载 2017-02-23 09:52:14 · 340 阅读 · 0 评论 -
iOS 判断字母、数字串
以下为NSString的扩展方法,分别是判断字符串是否只是包含字母、是否只包含数字、是否只包含字母和数字://只有字母- (BOOL)isOnlyLetters { NSCharacterSet *letterCharacterset = [[NSCharacterSet letterCharacterSet] invertedSet]; return ([self rangeOfChar原创 2017-02-22 09:39:34 · 680 阅读 · 0 评论 -
金额计算精度问题
首先我抛出一个例子代码如下NSString *str = @"555448.96"; float vlue = str.floatValue; double vlue2 = str.doubleValue; NSString *rmb = [NSString stringWithFormat:@"%.2f",vlue]; NSString *rmbeee = [NS原创 2017-01-05 16:39:30 · 3191 阅读 · 0 评论 -
float和double精度问题
double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。 float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数原创 2017-01-05 16:03:25 · 1858 阅读 · 0 评论 -
iOS开发-RunLoop总结
序言 在《iOS之应用程序启动过程及原理总结》一篇中介绍了iOS应用的启动原理。我们知道当应用启动后,系统会自动创建一个线程来执行任务,该线程被称为主线程或者UI线程。其实在主线程创建的时候,系统还会为主线程创建并启动一种机制(其实就是一个对象,该对象和应用的生命周期有关),叫做RunLoop,被称为运行循环机制。本文主要将介绍iOS应用中的RunLoop机制。RunLoo转载 2016-12-21 17:23:14 · 460 阅读 · 0 评论 -
[!] Unable to find a pod with name, author, summary, or ...
[!] Unable to find a pod with name, author, summary, or description matching `SDWebImage`解决方法rm ~/Library/Caches/CocoaPods/search_index.json OK解决原创 2016-12-09 14:07:33 · 453 阅读 · 0 评论 -
银行卡号格式化带星显示
+ (NSString *)formateBankNum:(NSString *)cardId { NSUInteger lenth = cardId.length; NSString *str1 = [cardId substringToIndex:4]; NSString *str2 = [cardId substringFromIndex:lenth - 4];原创 2016-12-13 13:43:39 · 3102 阅读 · 0 评论 -
iOS根据银行卡号识别银行
+ (NSString *)getBankName:(NSString*) cardId{ //发卡行.卡种名称 NSArray *bankName = @[@"邮储银行·绿卡通", @"邮储银行·绿卡银联标准卡", @"邮储银行·绿卡银联标准卡" , @"邮储银行·绿卡专用卡" , @"邮储银行·绿卡银联标准卡",@"邮储银行·绿卡(银联卡)" , @"邮储银行·绿卡VIP卡"转载 2016-12-12 17:47:21 · 2931 阅读 · 0 评论 -
MJRefresh只刷新一次问题
今日项目中用到MJRefresh这个第三方 的刷新库,但是遇到一个比较尴尬的问题就是,只能刷新一次,经过多方查询,终于知道原因现将代码贴出共同学习进步 我用的是block方法 __weak typeof(self) weakSelf = self; self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWith原创 2016-12-02 14:07:37 · 3631 阅读 · 1 评论 -
iOS UILabel富文本
NSString *str = @"黄河远上白云间,一片孤城万仞山。\n等羌笛何须怨杨柳,春风不度玉门关\n日照香炉生紫烟,遥看瀑布挂前川。\n飞流直下三千尺,疑是银河落九天。"; NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str]; //attrSt原创 2016-11-30 17:33:37 · 1654 阅读 · 0 评论 -
swift代码之路(五)NSTimer
public class NSTimer : NSObject定时器的作用:1、在指定的时间执行指定的任务2、间隔一段时间执行指定任务定时器的创建定时器有两种创建方式(1)scheduled方式创建并启动定时器默认将时钟以NSDefaultRunLoopMode模式添加到运行循环用户发生交互的时候时钟将暂停 /* public原创 2016-09-21 13:46:03 · 884 阅读 · 0 评论 -
IOS懒加载
1、懒加载定义懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其getter方法。说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。我们知道iOS设备的内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么就有可能会耗尽iOS设备的内存。这些资源例如原创 2016-05-28 23:13:20 · 324 阅读 · 0 评论 -
iOS UIimage拉伸的三种方法
第一种方法//用到image的这个方法- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight //leftCapWidth:左边不拉伸区域 //topCapHeight:上面不拉伸区域 UIImage *image =[原创 2016-04-13 09:48:49 · 11326 阅读 · 0 评论 -
iOS 常用的第三方框架
Masonry 用处:添加约束使用 MJExtension用处:数组、字典、plist等与模型之间的转换 MJRefresh用处:给scrollView类添加下拉刷新和上拉加载 SDCycleScrollView用处:图片循环滚动 ZLPhotoLib(图片浏览,多选) SBPhotoBrows原创 2016-03-08 14:51:47 · 867 阅读 · 0 评论 -
使用xcode storyboard设置按钮圆角方法
通过storyboard的 运行时属性runtime attribute,可以对Button设置圆角或者边框1.很多人都知道,通常设置一个 Button后者其他的UIView子类的圆角,需要使用如下的语句self.button.layer.cornerRadius=10;//即可说明:这会用到layer图层的属性来实现,原因是在一个 UIView子类中UIView本身只是用转载 2016-02-23 09:23:29 · 2532 阅读 · 0 评论 -
IOS泛型
#import @interface Stack : NSObject- (void)addObject:(T)object;@end#import "Stack.h"@implementation Stack- (void)addObject:(id)object{ NSLog(@"----%@--", object);}@end/原创 2016-03-19 13:08:47 · 614 阅读 · 0 评论 -
QQ聊天界面实现
QQ聊天界面实现效果如下:实现过程:1、首先实现基本界面头像使用 UIImageView :文字消息使用 UIButton标签使用 UILable :水平居中所有元素在一个cell中,在加载cell时进行判断显示和隐藏。合理设置各个控件之间的约束关系。主要是UIIimageVIew和UIButton顶部对齐,间距为10。UIB转载 2016-03-07 16:26:03 · 4280 阅读 · 0 评论