- 博客(52)
- 资源 (33)
- 收藏
- 关注
原创 JS正则表达式学习全记录
匹配范围键盘可以输入数字,字母,特殊符号_. 正则表达式都可以匹配书写要点注意先写字符串,根据字符串写正则表达式,不要追求完美,先写出来然后再改目的网上搜的正则表达式能看懂,有问题会改1、基础元字符:. 表示除了\n以外的任意一个字符[] 表示的:范围,[0-9]表示是0到9之间的任意一个数字[1][0-9][0-9] //100到200之间的数字[0-9] //表示所有数字中任意一个[a-z] //表示所有小写字母中任意一个[A-Z] //表示所有大写字母中
2020-07-17 17:18:20
279
原创 高级iOS面试题全纪录
iOS基础:多线程使用,gcd跟operation区别,怎么取消正在执行的gcd任务 GCD 系列知识总结NSOperation相关知识总结可以仿照operation的工作原理,设置一个BOOL变量,当需要停止时设置成YES,执行任务的时候去判断这个状态使用带来的问题:资源竞争、优先倒置、死锁runtime的使用 iOS Runtime详解swizzling中hook一个方法要...
2018-09-02 13:25:36
6414
原创 ReactNative ListView + 上拉加载更多 + 下拉刷新
最近在尝试RN上的一些编码,感受是编译环境真的很不稳定,有时候添加一个依赖包,直接就导致项目出错了,需要移除重新添加。提醒大家添加依赖组件的时候最好把服务停了,项目停止运行以保证稳定性。 本来用的是FlatList组件,这个新组建用起来简单很多,但是加上逻辑代码会触发很多遍下拉刷新方法,目前没有很好的解决思路,所以换成了老组件ListView,差异不大。 //1、首先定义换成列表数组信息...
2018-04-25 15:07:56
976
原创 UIScrollview自定义分页大小
Demo中UIScrollview的frame大小为屏幕大小:1、自定义水平分页pageWidth = 300效果:2、自定义垂直分页pageHeight = 400效果:默认ios的UIScrollview系统只支持bound宽度或高度的分页,不能自定义分页大小,这种不能满足某些情况下交互需求,要实现自定义分页有以下两种方法:方法1将UIScrollvi
2018-01-30 18:53:20
2210
原创 MJRefresh适配ios11以及iPhoneX
这里写链接内容虽然还没钱买iPhone8和iPhoneX,但是新版的Xcode9已经有相关模拟器了,一打开模拟器惊呆了,那些自定义导航栏的地方都出问题了,原因是iPhoneX状态栏由以前的20->44所以产生了一些问题,但是这边我们不关注这个问题,大多数界面都有的刷新都出了问题,这就很尴尬了,看了很多文章。其中iOS 11 安全区域适配总结这篇文章写得很是详细大多数文章提供的解决方案都是直接将新增属
2017-09-27 19:16:52
7776
原创 ios整个app竖屏,个别界面横屏支持设置demo
先看一下效果图:首先创建项目的时候要做支持横屏的设置:General->Deployment Info1、通过delegate控制设置在delegate里面定义一个全局变量supportRotate,然后在delegate中重写代码如下:- (UIInterfaceOrientationMask)application:(UIApplication *)ap
2017-08-16 16:33:52
3579
原创 contentSize、contentInset和contentOffset区别及相互关系
1、contentSize:The size of the content view. 这个size表示滚动视图可以滚动的大小,假如小于或等于滚动视图的frame.size,这时候滚动视图是不可以滚动的,连橡皮筋效果都没有 假如frame = (0 ,0 ,320 ,480) contentSize = (640 ,480),代表你的scrollview可以横向滚动320的宽度。 2、conten
2017-06-30 18:17:12
12126
原创 自定义IOS系统弹框
写在之前系统的弹框虽然很好看,但是有时候无法完全满足UI设计的需求,比如说中间要显示一个输入框,或者要放置一张图片,这里介绍一个很早之前的自定义弹框库,这个自定义弹框sdk写的很细致,定制性很强,几乎可以做到完全改写,附下载链接与系统弹框不同的是这个库支持以下功能: 1. 仿原生弹框样式 2. 可自定义下方按钮颜色字体个数,可自定义title文字、message文字样式 3. 可自定义弹框大小
2017-06-15 18:11:02
4272
原创 ReactiveCocoa入门教程之信号的使用
ReactiveCocoa是Github上的一个开源的函数响应式编程框架,下面简称RAC他的作用是帮我们很简单的处理事件,这里要注意,目前RAC有针对oc跟swift两个类库,OC对应的是ReactiveObjC,swift对应的则是ReactiveCocoa,目前已经是5.0.0版本。虽然我公司项目已经使用swift进行开发,但是考虑到还有部分没有使用因此这边围绕OC语言版本展开
2017-05-03 12:18:38
994
原创 iOS事件响应链传递的一些理解
最近公司分享会上有同事分享了事件响应链的一些细节和逻辑,借这个机会把我觉得要注意的点整理一下。1、事件传递顺序事件的传递顺序,我就不说什么从UIApplication开始下传了,这边只说说视图层的传递:事件传递:父视图往子视图传递,这个图传递如下点击B:A->B点击D:A->C->D怎么验证这个说法,最简单的,关闭父视图的userInteractionEnabled
2016-11-26 22:17:02
2370
原创 ios scrollView联动处理-左边悬停、上面悬停
写一个蛮常见的demo,见下图:(需求:白色区域停止不动,拖动黄色区域,蓝色区域跟着上下滚动,左右不变,绿色区域上下不变,左右跟着滚动,拖动蓝色、绿色区域同理,由于不能上gif所以比较难描述)先说一下思路:整个界面分成四个视图,底下放一个大滚动视图把这四块包起来,长度为蓝色视图长度,宽度为绿色视图宽度假如蓝色跟绿色视图是滚动视图禁止其滚动属性,黄色区域就贴着滚动视图的一
2016-08-08 09:52:57
3729
原创 ios-anchorPoint、position理解
anchorPoint(锚点)是layer的一个属性,下面我们来看看其对view的影响,本文主要通过图片方式展现:锚点用单位坐标来描述也就是图层的相对坐标。在苹果文档中说明左下是(0,0),右上是(1,1),经过试验这个是错的,实际上:图层左上角是{0, 0},右下角是{1, 1},取值范围不限。单位坐标的意思是指以视图长款为单位来计算,坐标系展示如下:默认一个视图的锚
2016-08-05 17:29:43
2695
原创 ios pdf字节缓存本地
最近app有个需求下载pdf缓存到本地,但是由于一些原因后台只能给我返回这个pdf内容对应的base64加密后的string串,客户端将string串解码之后写入pdf文件中,下载根据路径判断有没有下载过这个文件:主要用到以下方法:获取完整路径:+ (NSString *)getFullPathWithId:(NSString *)archiveId{ //拼接文件全路径
2016-08-02 16:32:26
2083
原创 oc转swift基本语法一
写在之前:学习swift如果英文水平可以的建议观看英文官方文档(The Swift Programming Language),因为这个文档会更新到最新的语法,其他的中文翻译有可能没有及时更新给学习者带来困扰,当然跟我一样的学渣也不要急,还是有牛人翻译了官方文档(The Swift Programming Language中文版),虽然部分语法可能不是最新的,但是不影响阅读。在掌握了s
2016-06-28 15:11:23
1337
原创 imageEdgeInsets、titleEdgeInsets详解
UIButton 上可以放置一个title和一个image,要说EdgeInsets的设置,首先我们要知道button默认布局是image在左,title在右,两者之间无间隙,整体居中对齐如下
2016-02-26 17:53:10
7937
原创 ios7之后导航栏状态栏小记
1、页面起始点 //修改了这个外观对象就相当于修改了整个项目的外观 UINavigationBar *bar = [UINavigationBar appearance]; bar.barTintColor = [mnResource navBarTintColor];ios7之后如上设置导航栏背景色之后,默认app导航栏是透明状态,页面起始点从(0,0)开始,也
2015-12-22 16:00:41
751
原创 Xcode安装插件小记之Alcatraz
1、找到自己机器的uuid:在终端输入如下命令:defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID得到如下结果:D0XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXB3这个字符串就是uuid2、打开路径:~/Library/Applica
2015-12-02 19:09:55
1064
原创 ios7之后的适配属性讲解edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars等
ios7版本之后,增加了很多新的属性,其中包括页面起始点从屏幕最左上角(0,0)点开始,这给页面适配带来了很大问题。首先说说纯代码页面:edgesForExtendedLayout这个属性我们字面上里面是四周延生,指定边缘要延伸的方向,IOS7鼓励全屏布局模式,默认值是UIRectEdgeAll。没用过的人可能不知道这是什么意思,举例假如我们页面上面有导航了,这个时候页面起始点仍然从状
2015-08-21 18:11:18
14942
原创 Zbar实现微信扫描界面可支持64位,可扫描二维码条形码
现在很多项目中都会用到扫码这个功能,现在开源框架被大家熟知的有Zbar以及ZXIng,Zbar底层是C语言来实现的,扫码速度比ZXing要快很多,所以我在项目中选择的是Zbar扫码。本文涉及自定义微信扫码页面、使用Zbar实现扫描二维码、条形码等功能,假如只需要支持二维码功能可以使用ios7自带的系统扫描功能
2015-08-17 13:21:20
2500
原创 tableView代理方法执行顺序
以前写table也没有关注那么多问题,但是今天突然发现不知道tableView的代理方法执行顺序了解的不是很清楚:于是打了断点来观察执行顺序:执行顺序如下:第一轮:1、numberOfSectionsInTableView :假如section=2,此函数只执行一次,假如section=0,下面函数不执行,默认为12、heightForHeaderInSectio
2015-04-30 16:40:17
5239
转载 App store 发布,64位问题,Missing 64-bit support
现在上传到AppStore上面的应用都必须支持64位,我们要对项目进行如下配置:处理方法如下:1、确保Xcode版本号>=5.0.12、更新project settings, minimum deployment target >= 5.1.13、Valid Architectures 添加设置 armv7 armv7s arm644、改变Architectures为 St
2015-04-29 15:24:11
624
转载 ios,设备标签与设备型号的对应关系(包含6plus)
今天遇到一款6plus的设备[UIScreen mainScreen].bounds.size.height打印出来是667,我表示还是比较吃惊的,然后就通过设备型号来判断手机到底是6plus还是其他的手机:#import // import it in your header or implementation file.NSString* deviceName(){ str
2015-04-17 14:29:08
1281
原创 ios自动布局autolayout 实现scrollView
随着苹果设备的增加:如4s(3.5寸),5s(4寸),6(4.7寸)以及6plus(5.5寸)。屏幕尺寸越来越多假如我们还是选择全部用代码来写也是比较繁琐的,
2015-04-16 16:34:10
1746
原创 自己总结IOS面试题
1、一个View从创建到视图消失经历了哪些方法出现:init-初始化程序viewDidLoad-加载视图viewWillAppear-UIViewController对象的视图即将加入窗口时调用;viewDidApper-UIViewController对象的视图已经加入到窗口时调用;消失:viewWillDisappear-UIViewCo
2015-01-29 20:32:03
762
转载 iOS基础面试题
iOS面试题系列:iOS如何面试iOS基础面试题(二)iOS基础面试题(三)iOS基础面试题(四)iOS进阶面试题----Block部分iOS进阶面试题----多线程部分iOS进阶面试题----经典10道iOS面试悲剧的应对方法随着iOS平台开发的职位的增加,笔试、面试也越来越有“套路”,这里我总结了一些面试题,多数是Objective-C的基础知识,适
2015-01-29 09:04:33
1052
原创 IOS多线程的一些总结
一直觉得多线程是一块难啃的骨头,倒不是因为他有多难,只是因为心里想这很难,在平时的学习和工作中总会有意无意的避开多线程的使用。今天写这篇文章倒不是因为掌握的多好,只是对多线程的随笔,下次看到也不至于太陌生。主要对IOS中GCD以及NSOperationQueue的一些梳理
2015-01-24 09:21:35
992
原创 IOS内存管理机制
现在大家都用Xcode6来开发程序,都不怎么注意内存回收机制的问题,感觉就跟java的垃圾回收机制一样,但是我们要注意的是ios并不支持垃圾回收机制,只不过他们都不需要我们显式的管理内存;oc中只有继承了NSObject对象才需要管理内存,每个对象内部都有一个整数引用计数器,当对象的引用计数器等于0时,就销毁对象。它占用的内存也好被系统回收,oc也会自动向对象发送一条dealloc消息,我们一般会重写dealloc方法(相当于一个对象的遗言我们可以在里面做内存管理的一些操作),retainCount可以获
2015-01-16 11:55:43
987
原创 KVC 与 KVO 理解
KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属性。比如说,一个 Person 对象有一个 na
2015-01-15 15:38:37
645
原创 html5自定义comfirm组件,可传参数、回调方法
大家都知道系统自带的confirm组件功能上可以满足我们的需求,但是样式很丑,而且还会暴露ip地址这里就做了一个confirm组建的封装,在系统自带组件的基础上,效果图如下: $ionicPopup.confirm({ title: 'Consume Ice Cream', cssClass: 'custom-confirm', template: 'Are you sure you want to eat thi
2015-01-07 20:40:35
5545
原创 关于self.view以及applicationFrame之类屏幕高度的一点总结
今天搭一个小项目框架的时候遇到了一个bug,屏幕下面的tabBar只显示了一小条,打印了一下位置发现不对,我就找原因,因为项目中很多地方用到self.view.frame.size.height,我就偷懒了,直接在公共文件里面定义了如下的一个变量#define SCREENH [UIScreen mainScreen].bounds.size.height开始我一直觉
2015-01-07 20:19:02
1397
原创 ios开发调试技巧-1
错误调试技巧:1>一个控件无法显示出来的可能原因*没有宽高(宽高为0)*位置不对* hidden=YES*没有被addSubview到屏幕上2>一个UIScrollView无法滚动* contentSize没有值*不能接收到触摸事件3>一个控件无法跟用户交互(无法接收事件)的可能原因*(父控件的)use
2014-12-30 17:48:50
559
原创 IOS真机调试全攻略
征集调试全过程,从创建P12文件,添加调试设备以及mobileprovision文件,最后安装在Xcode里面选择证书,真机运行全部流程
2014-12-16 09:41:36
805
原创 Xcode编程问题小结1
解决软件安装失败问题万能方法,重置模拟器,重启xcode,clean工程1、push新的界面跟老界面重叠,是新界面背景色是clear的颜色,新建的界面默认clear;2、要是在contentView里面显示一个新的界面,这个界面要push新的界面,还是会被框在content里面,[self.mainVC.navigationController pushViewCont
2014-12-11 11:27:49
564
原创 iOS NSTimer使用详解-开启、关闭、移除
之前对定时器的使用有误区,所以特地研究了一下,这里也跟大家分享一下:开启定时器,关闭定时器,取消定时器
2014-12-10 10:35:21
15916
原创 ios提供外部访问url
ios软件中给别的软件提供一个url供别的软件访问我们的程序是很正常的功能,为别的软件提供一个url,就像qq提供第三方登陆接口一样
2014-12-01 15:35:05
1001
原创 IOS 操作数据库(FMDB)
公司最近在做离线缓存的东西,用的是sqlite数据库保存的。使用第三方类库FMDataBase对数据库进行相关操作,这是我写的一个小demo,废话不说,先上效果图:在操作数据库的时候遇到了一点小问题,sqlite里面string类型就用text来存储,int型用integer,float用real,需要注意的是:插入数据的时候如果string类型直接插入,但是要是float或者
2014-11-27 11:00:25
1058
原创 UIScrollView的基本属性ContentSize、ContentInset、ContentOffset
ContentSize:表示滚动视图的偏移区域,假如你有五张
2014-11-12 13:57:37
1201
原创 IOS调取系统摄像头以及相册
在IOS上很多应用都需要调用系统的摄像头以及相册的权限,IOS也给我们提供了接口。UIImagePickerController继承自UINavigationController,所以我们不可以在摄像头调用是添加新的界面,会导致导航控制器出错,但是我们可以获取摄像头界面的所有按钮,对按钮进行一些自定义操作。注意:摄像头拍照界面,以及拍照完成重拍还有确认选择等操作都是在一个试图控制器上完成的,我们不要误以为是两个界面。为什么可以确定这件事呢?因为我们可以通过方法在该界面ViewController里面获
2014-10-18 14:04:14
2318
ScrollView自定义分页大小,不受frame影响
2018-01-30
MJRefresh兼容ios11demo
2017-09-27
ZBar仿微信条形码二维码扫描界面-Xcode8
2017-02-28
仿爱鲜蜂源码-swift3.0
2016-12-28
ios响应链测试demo
2016-11-29
MultiLayerNavigation--右滑返回
2015-05-07
TableView-九宫格
2014-09-26
C++编程思想
2013-09-08
C++编程金典(第3版)
2013-09-05
C++ Primer 3rd Edition 中文完美版
2013-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人