
iOS
文章平均质量分 73
FarmGuo
这个作者很懒,什么都没留下…
展开
-
ARM 64指令小记
1 test2 cmp原创 2022-05-31 18:18:46 · 2371 阅读 · 0 评论 -
iOS的仿射的一点理解
1 CGAffineTransform定义如下:struct CGAffineTransform { CGFloat a, b, c, d; CGFloat tx, ty;};这只定义了部分数据,这个其实是一个3*3的矩阵,最后一列永远是[0,0,1]。/* Return a transform which translates by `(tx, ty)': t' = [ 1 0 0 1 tx ty ] */CGAffineTransform CGAffineTransfo原创 2022-01-11 15:03:03 · 1327 阅读 · 0 评论 -
Aspects源码分析
Aspects是一个用来切片编程的开源框架,提供了丰富接口,可以Hook类和单个对象的方法,并提供了原实现前Hook,替换原实现,原实现后Hook等选项。1 实现流程不管是Hook类的还是Hook某个对象的,基本流程都是将原SEL指向objc_msgForward,使其走消息转发的流程,然后将原实现保存在aliseSEL中。然后将forwardInnovation的实现设为自定义的方法,如果原来有forwardInnovation的实现,则将其保存在AspectsForwardInvocationSel原创 2021-10-29 16:13:27 · 206 阅读 · 0 评论 -
WKWebView小记
1 额外的进程WKWebView有额外的2个进程,Networking和Render。所以性能较好,且内存占用低。2 遇到的坑坑1 打卡新网页不支持_blank,_blank用来打开一个新的网页,但WKWebView下却点击无反应。需要进行特殊处理,-(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigatio原创 2021-10-29 16:03:15 · 452 阅读 · 0 评论 -
思想杂记之小总结
1 App的编译过程2 浏览器敲下回车后发生了什么3 KVO/通知/Block/Delegate/Target-Action原创 2021-08-31 15:13:40 · 166 阅读 · 0 评论 -
UIView和CALayer
1 两者关系两者互相依赖,UIView是管理CALayer,而CALyer则展示和绘制内容,UIView继承自UIResponder,可以响应和处理事件。UIView的很多属性和CALyer是共用的,比如UIView的alpha和CALayer的opacty。有些则会相互影响,比如CALayer的anchorPoint,会影响UIView的frame。内容的绘制UIView是CALayer的delgate,通常情况下不参与内容绘制,CALayerDelegate有以下可选方法:@protocol原创 2021-07-23 10:48:40 · 846 阅读 · 0 评论 -
RunLoop的一些理解
1.Runloop与dispatch的关系1.在__CFRunLoopRun函数中,用dispatch_source_create创建一个定时器。处理此次runLoop mode的运行时间,唤醒Runloop2.使用dispatch的任务,例如dispatch_async 提交的任务dispatch_after 提交的延时任务dispatch_source_createdispatch_source_set_timerdispatch_source_set_event_handler设置的原创 2021-05-05 09:42:05 · 1057 阅读 · 2 评论 -
super 方法调用
1我们是通过[super somemethod]来调用父类方法的。在调用的父类方法中,self还是子类的对象。也可以通过objc_msgSendSuper这种方式来调用父类方法,传入一个struct objc_super 结构体参数。objc_msgSendSuper2和objc_msgSendSuper前者是私用的,只能由系统转化,即将[super somemethod]转化为objc_msgSendSuper2。后者是公开的,可以手动调用。2参数有所不同手动调用[super method]时原创 2020-05-28 20:12:19 · 1144 阅读 · 0 评论 -
CoreText小结
1 Line 每一行Run 每一行的具体绘制单元,相同属性的为一个Run,特殊情况是即便属性相同,但中英文不会为同一个Run2 相关函数1获取frame的所有lineCFArrayRef CTFrameGetLines( CTFrameRef frame )获取所有line的位置void CTFrameGetLineOrigins( CTFrameRef frame, CFRange range, CGPoint origins[_Nonnull] )2原创 2020-05-28 20:11:38 · 425 阅读 · 0 评论 -
记录
//用户有两种动作,1拖动到指定位置后执行scrollViewDidEndDragging,2滑动后,任其滚动后停止执行scrollViewDidEndDecelerating//1只对应 scrollViewDidEndDragging//2对应两种方法,(但scrollViewDidEndDragging的decelerate为YES)所以要判断,防止重复执行操作原创 2014-11-25 15:32:25 · 517 阅读 · 0 评论 -
Xcode中使用Scheme管理项目
在应用开发中原创 2016-03-14 14:55:07 · 9659 阅读 · 0 评论 -
图像Exif Orientation
图像共用八种方向,以F做示范参考:如何处理iOS中照片的方向http://www.cocoachina.com/ios/20150605/12021.htmlExif Orientation Taghttp://sylvana.net/jpegcrop/exif_orientation.htmlhttp://feihu.me/blog/2015...原创 2016-01-25 15:43:36 · 649 阅读 · 0 评论 -
UICollectionView的使用(一)
在iOS开发中,与列表展示相关的,更多的是使用UITableView,几乎每个App都离不开它。对比与UITableView,UICollectionView的使用比较繁琐,所以UICollectionView的使用不是很常见。但UICollectionView也有自身的特点,比如横向布局,多行或者多列(瀑布流)展示。Apple也推荐了一些应用UICollectionView典型场景–相册、书库。1原创 2016-03-01 18:17:48 · 729 阅读 · 0 评论 -
iOS客户端三方登录的封装
如今的应用的开始偏向社交化发展了,以产生粘性,也可以让用户登录进App体验更多的功能,而传统的注册登录的流程就稍显冗余,集成三方登录似乎势在必行。仅仅调用下客户端就完成注册登录,用户体验会有极大提升。常见的三方登录大致有微博、微信、QQ、豆瓣、人人。在开发蜜Live时,考虑我们的大部分用户是海外用户,特意集成了Facebook和Twitter登录。这里就主要讲述对微博、微信和QQ的登录封装。主要目原创 2015-10-25 19:01:39 · 1061 阅读 · 0 评论 -
iOS客户端与PHP服务端的简单交互
mark原创 2014-09-22 13:31:42 · 1515 阅读 · 1 评论 -
iOS中GET请求的同步与异步
一 GET同步请求步骤:1、设置URL地址 2、设置interface接口 3、添加?连接符 4、设置属性keyArr 5、设置值valueArr6、前五个拼接起来 7、request 8、sendSyn同步 NSData接收9、解析NSData(用什么接? 字典dic or 数组arr) 10、其他事情(一般是布局进行显示)二 GET异步1、遵守协议(NS原创 2014-09-17 09:48:46 · 559 阅读 · 0 评论 -
OC下几种网络请求方式
HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。GET优点:3个全在一起(接口、链接、数据)可以在浏览器查看,书写简单。所有信息附加都在地址后面缺点:明文,保密性差,通过GET提交数据,用户名和密码将明文出现在URL上。文件操作不方便GET方式是比较常见的方法。一般不提交大量的数据,都是GET方式来请求网页的,比较POST数据量大。可以看到各种网址后原创 2014-09-16 22:38:00 · 1861 阅读 · 0 评论 -
iOS中的UDP通信
上文简述了TCP的通信,这里我们看看UDP如何通信,原创 2014-09-21 18:09:38 · 1079 阅读 · 2 评论 -
Xcode 5中调试 EXC_BAD_ACCESS
Xcode中经常会出现EXC_BAD_ACCESS错误,一般都是内存释放一类的报错信息,但是终端中却不能打印出来具体的错误信息。经过搜索发现,设置xcode的执行环境变量可以打印对应的错误信息。所以,新建好项目后,一定要设置好这一步,方便排查错误。Xcode 5中的设置方法:菜单栏,Product -> Schema -> Edit Schema,在Run左侧菜单下,点击Arguments转载 2014-08-30 16:51:36 · 489 阅读 · 0 评论 -
苹果Mac下LAMP环境的搭建
记得那次,看到他人在电脑上开了共享,直接通过IP地址就可以访问电脑上的资源。本着学习和好奇的态度,试了良久,尝试了各种方法,还是没有实现。不得已就请教了一下他,结果却是敷衍了事。万事还得靠自己。要不怎么说,网络是非常的学习平台,终于找到了解决方案。这次又换成Mac Mini,东西都没有了,又要重新做一遍,记录一下吧。苹果Mac其实是自带了Apache和PHP的,毕竟OS X和Unix一脉相原创 2014-08-29 19:17:20 · 1439 阅读 · 0 评论 -
iOS中TCP通信
本文并不是如何用原始的socket进行通信,而是用第三方类库原创 2014-09-21 17:49:40 · 1056 阅读 · 2 评论 -
iOS中tableView的下拉刷新与上拉加载(二)
上一篇文章讲述了tableView的下拉刷新,这次将一下上拉加载,不像下拉shua原创 2014-09-19 19:34:28 · 1312 阅读 · 0 评论 -
iOS 中GET请求
上一篇文章阐述了iOS中的请求fang'f原创 2014-08-23 20:01:28 · 799 阅读 · 0 评论 -
iOS中tableView的下拉刷新与上拉加载(一)
如今,上拉刷新与下拉加载越来越流行了,你做个应用若是没有这个功能,dou'bu'hao原创 2014-09-19 18:17:33 · 1410 阅读 · 0 评论 -
iOS中的手势
先写个biao't原创 2014-09-17 15:32:57 · 511 阅读 · 0 评论 -
iOS监听网络状态的变化
现在大部分的应用都是基于网络的,可以说没有网络大部分的应用都要变成渣渣了原创 2014-09-16 16:45:06 · 1534 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running 未运行 程转载 2014-09-18 16:10:25 · 632 阅读 · 0 评论 -
一点技巧
1.显示文件夹用户下的资源库原创 2014-10-05 11:32:24 · 489 阅读 · 0 评论 -
iOS模仿QQ的折叠
先mark原创 2014-09-26 17:24:57 · 692 阅读 · 0 评论 -
RESideMenu 抽屉效果解析
RESideMenu原创 2016-01-14 11:21:42 · 481 阅读 · 0 评论 -
iOS应用内语言切换功能
当应用的用户是国际用户时原创 2016-01-14 11:19:03 · 389 阅读 · 0 评论 -
瀑布流的一种实现方式
如今瀑布流布局也流行起来了原创 2016-01-14 11:17:37 · 380 阅读 · 0 评论 -
iOS应用内语言切换功能
当我们的应用仅仅面向国内用户群,一般仅支持一种语言–中文就可以了。当面向国外用户时就需要进行国际化了,不仅仅是语言的转变,也可能包括设计风格,页面布局、交互效果的转变,如微信,微博,QQ这类应用都有着切换语言的功能。iOS常用的国际化流程1.建立strings文件。2.在Localization勾选支持的语言,在不同的后缀的同文件名的strings中设置标题。3.使用NSLocalizedStrin原创 2016-01-27 15:26:40 · 1757 阅读 · 0 评论 -
iOS图片选择的优化与封装
前言照片的选取在App中是相当普遍的场景,如用户修改头像、上传照片。一般给用户两种选择 1拍照 2从相册选取在iOS中选择图片这个任务是通过UIImagePickerController来实现的,通过设置sourceType来决定是从相册选取还是拍照,当前的视图控制器需要实现UIImagePickerControllerDelegate协议的方法。 imagePickerContro原创 2015-11-01 14:37:12 · 593 阅读 · 0 评论 -
iOS管理状态栏
在某些场景中我们需要切换状态栏的样式,比如从一个白色主题的场景换到黑色主题的场景。iOS中设置状态栏大致有两种原创 2015-09-19 15:18:13 · 536 阅读 · 0 评论 -
iOS获得相册里面的相片
要获得手机里面的相片,只能用系统的方法原创 2014-10-05 16:06:04 · 621 阅读 · 0 评论 -
XMPP在iOS中的应用
先这样。原创 2014-09-18 14:13:22 · 551 阅读 · 0 评论 -
iOS通知的简单使用
仅仅是一个简单的使用,因为iOS系统对应用做了很大的xian'z原创 2014-10-04 14:58:25 · 546 阅读 · 0 评论 -
iOS的归档与解档
mark原创 2014-09-22 13:32:04 · 632 阅读 · 0 评论 -
iOS内存管理的一些问题
在上一篇博文 iOS模仿QQ的折叠原创 2014-09-28 16:17:17 · 591 阅读 · 0 评论