xfy6238
码龄9年
关注
提问 私信
  • 博客:89,157
    89,157
    总访问量
  • 48
    原创
  • 840,009
    排名
  • 8
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2015-09-09
博客简介:

xfy6238的博客

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得4次评论
  • 获得9次收藏
创作历程
  • 2篇
    2020年
  • 10篇
    2019年
  • 12篇
    2018年
  • 9篇
    2017年
  • 15篇
    2015年
成就勋章
TA的专栏
  • 开发记录
    1篇
  • GPUimage
    1篇
  • Swift
    1篇
  • OpenGL ES
    2篇
  • 技术点记录
    1篇
  • iOS
    33篇
  • UI
    4篇
  • 好记性不如烂笔头
    8篇
  • HTML5
    1篇
兴趣领域 设置
  • 移动开发
    flutter
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

357人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

一道 Runtime 面试题的思考

这道面试题大部分应该都见过 https://halfrost.com/objc_runtime_isa_class/@interface Sark : NSObject@property (nonatomic, copy) NSString *name;@end@implementation Sark-(void)speak{ NSLog(@"*******my ...
原创
发布博客 2020.02.03 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Collectionview 与父视图 手势冲突

场景如下:controller的view上添加了一个手势, 在view上添加一个collectionview;这会引起手势冲突,collectionview上select方法不执行;解决方案:在父视图的手势处理方法做如下处理- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRec...
原创
发布博客 2020.01.09 ·
1022 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

OpenGL ES 绘制三角形

这篇博客是根据我的一个工程整理而来,用于理清思路, 使用OpenGL 记性绘制的一般流程.当前的controller 是继承于GLKViewController;- (void)viewDidLoad { [super viewDidLoad]; [self setupContext]; [self setupShader];}setupContext...
原创
发布博客 2019.11.19 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

OpenGLES 入门理解

先推荐几篇好的博文:https://niyaoyao.github.io/2018/05/23/learning_opengl(es)_opengl_model_pipeline_and_practices/https://blog.csdn.net/lance710825/article/details/78137950/https://learnopengl-cn.readthed...
原创
发布博客 2019.11.15 ·
1004 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

GPUimage 滤镜视频录制

本篇是基于落影的博客进行记录,用以学习.要做的任务: 开启摄像头, 画面加了一个滤镜实时显示, 点击录制,对加了滤镜的视频进行保存,录制结束,将数据写入到相册中.整体的流程是这样.用GPUimageVideoCamer 进行图像和音频的捕获, 视频通过滤镜处理,之后有两个流向;1. 直接显示 //初始化 _videoCamer = [[GPUImageV...
原创
发布博客 2019.11.12 ·
372 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dealloc 实现 原理

当对象的引用计数Wie0时, 系统会调用对象的dealloc方法释放- (void)dealloc { _objc_rootDealloc(self);}在内部void_objc_rootDealloc(id obj){ assert(obj); obj->rootDealloc();}继续调用了rootDealloc方法显然调用顺序...
原创
发布博客 2019.11.05 ·
824 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

从OC到Swift的快速实践

本文是参考这篇博客, 里面的内容 ,我用playground实践了一遍,记录自己的理解和思考.一. 数据swift是数据安全类型, 不存在隐式转换.类型转换标识符:is: 一个实例是否是某一种类型as: 将实例转换成某一种类型(子类型 -> 父类型)as?: 将某个类型转成可选类型, 通过判断可选类型是否有值,来决定是否转化成功as!: 转成具体的类型,如果不...
原创
发布博客 2019.11.03 ·
383 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

weak与字符串

weak的特点是不会使引用对象的引用计数加一,即不持有对象,在对象为nil时,自身也会为nil.但是在字符串这里有一点区别weak修饰的属性引用了一个常规的对象,当这个对象被释放时, weak对象也会被释放.但是在字符串中似乎有些不一样://有两个属性@property (nonatomic, copy) NSString *imCopyStr;@property (nona...
原创
发布博客 2019.10.29 ·
643 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

GCD 实现多线程顺序执行

这个标题其实是有些不对的, 实际要实现的功能是执行完A,B,C 三个任务之后, 再执行D.第一种方式:使用dispa_group完成- (void)orderImplementGCD{ dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_group_t group = dispatch...
原创
发布博客 2019.08.27 ·
541 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

anchorPoint 和 position

读到一篇讲UIView frame 实现的博客, 对相关知识进行了一个总结https://mp.weixin.qq.com/s/ImYWnDeq4gG_gUkL3_ZDgwview的frame计算要牢记几点, 计算公式如下:frame.origin.x = position.x - anchorPoint.x * bounds.size.width; frame.origin.y...
原创
发布博客 2019.08.14 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ios xib 表视图的headview 自适应高度

需要完成一个需求: tableview的headView中有一个可换行的label, 需要headview写入数据时, tableview的headView的高度自适应. 不手动计算字符串的高度;1. 在headview的操作:1.1 headview的xib,所有的控件约束要保证是正确的,从上到下的约束要确保有,并且是正确的.1.2 在headview的.m文件中,要设置高度变化...
原创
发布博客 2019.05.27 ·
1575 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tableview复用cell的两种方式

在- (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath {中, 复用cell时 , 有两种方式1. 你在之前已经使用下列方法对tableview的cell进行注册过了[_tab...
原创
发布博客 2019.05.07 ·
371 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用xib 自定义cell, 自适应高度方案

在计算cell的高度这个问题上,经历三种阶段; 1. 使用纯代码创建cell, 这个需要根据model的数据, 手动计算label的size, 再根据其它控件的位置, 来计算cell的整体高度. 2. 使用xib创建cell, 然后使用了一个比较牛的第三方FDTemplateLayoutCell, 简单说一下用法: cell的约束必须在top,和bottom 与内部的控件有约束, 这样才可以...
原创
发布博客 2018.07.19 ·
1193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UIGraphicsGetCurrentContext vs UIGraphicsBeginImageContext

看了Core Graphics 的一点内容, 然后在自己的代码中看到了一个不一样的函数, 有些迷惑,就搜索了相关内容, 发现Stack Overflow上一篇帖子讲的很清晰.链接;总结成一句话:UIGraphicsGetCurrentContext 在drawRect 方法中使用,获得上下文; UIGraphicsBeginImageContext在任意一个你想进行图片处理的方法中条用....
原创
发布博客 2018.07.18 ·
444 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

xib label约束的优先级

在平行或者垂直方向,对两个内容自适应的label进行约束,需要设置其Content Compression Resistance Priority(内容压缩阻力优先级)或者Content Hugging Priority(内容紧靠优先级) 进行正确合适的约束. 这一篇博客讲的通俗易懂, 推荐Autolayout——“Content Compression Resistance”和“Conten...
原创
发布博客 2018.07.16 ·
1684 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS 中应该避免的坑

这篇博客是作为自己开发时的一些准则,遵守这些准则,保证代码的质量. 会陆续更新……内存泄漏: 如果初始化了一个变量,结果没有使用, 那就把这行代码删除或者注释. 这种情况就是内存泄漏,积少成多,会出问题....
原创
发布博客 2018.07.08 ·
186 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS 多target开发(快速开发一个重复的APP)

一个工程打包时,想同时发一个企业版和App Store,就会遇到一个问题. 企业版账户打包的APP 不能发布到App Store中, 所以我们需要改变bundle id. 如果直接修改bundle id, 就在每一次打包发布时,需要反复切换修改bundle id,这样很容易出岔子. 而使用多target就能容易的实现这一目标. project和target的区别:project ...
原创
发布博客 2018.07.02 ·
1633 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在for循环中,对可变数组进行删除操作

/** 在可变数组中进行删除删除操作,比如移除值为3的元素, 原下标为4的元素变成下标为3, 那么在下一次循环(这个循环有元素的比较)中,这个元素是不会被执行的, 因为位置变了; 所以: 1.不在for循环中进行数组删除 2.在移除元素之后,将i-1, 回到这次循环之前. 2.1: 使用i–,要保证是值比较,而不是下标比较,否则就停在这个循环了 */ - (v...
原创
发布博客 2018.06.22 ·
952 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UISearchController使用中遇到的坑

这次开发需要用到搜索框, 以前大都是使用UITtexField进行自定义的,这次使用了UISearchController. 在iOS8之前,使用的的是UISearchDisplayController+SearchBar的组合, iOS8之后,原有的方式废弃, 苹果推荐使用UISearchController,其本身包括searchBar.但是使用中出现了一系列问题 UISearchC...
原创
发布博客 2018.06.21 ·
2311 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

UIButton 图片(imageEdgeInsets)和文字(titleEdgeInsets)设置

上面的界面可以很方便的使用tableviewCell 来实现, 但是如果只是简单的两三个,使用tableview 就显得有点臃肿了;1. 你可以封装一个控件,在一个view上放置一个imageview和一个label, 加上点击事件,搞定了;2. 但是为什么不尝试另一种方法呢? 直接使用UIButton,这个控件内部有一个imageview和label,适当调整它们的位置, 我们就可以很容易实现想...
原创
发布博客 2018.06.21 ·
333 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多