
项目中来
文章平均质量分 50
dengjiangszhan
终点开始
于此,梵高成了我最钟爱的英雄
牛逼,某一天
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ZLPhotoBrowser 源码分析: 图片旋转
本文简单分析下 ZLPhotoBrowser 的源代码,其中的图片旋转,使用的是 ZLClipImageViewControllerZLPhotoBrowser 代码比较绕,很有意思特色:大部分封装的功能控制器,使用的入口是 ZLPhotoPreviewSheet例外:图片预览控制器, 使用 ZLImagePreviewController,可方便地直接调用照相机,使用 ZLCustomCamera,可方便地直接调用1.1 , 图片旋转控制器的官方调用流程先进入预览界面ZLPhotoPr原创 2021-07-15 15:57:41 · 1608 阅读 · 0 评论 -
bash, rename 技巧
改这个使用:➜ NewP git:(sb_tea) ✗ name /Users/jzd/Pictures/Lumiere/X/NewP/Player_logic_Xxx_req.swift /Users/jzd/Pictures/Lumiere/X/NewPmv /Users/jzd/Pictures/Lumiere/X/NewP/P_Ctrl_bg.swift jouer_/Users/jzd/Pictures/Lumiere/X/NewP/P_Ctrl_bg.swiftmv /Use原创 2021-07-04 14:26:30 · 454 阅读 · 1 评论 -
drawRect 处置不当的 bug
class ReadScrollV: UIScrollView { fileprivate lazy var ccc = TxtViewCustom()}extension ReadScrollV: DrawDoneProxy{ func done(height h: CGFloat) { let high = h + h_newP_bottom // var f = ccc.frame let cccS = ccc.frame原创 2021-06-23 10:05:25 · 106 阅读 · 0 评论 -
模拟器,网络 json 转 plist 文件,便捷代码
模拟器,网络 json 转 plist 文件,Net.request(.get(key)) { (result) in do{ let data = try result.get().data do{ let json = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.Re.原创 2021-04-12 22:06:25 · 191 阅读 · 0 评论 -
MBProgressHUD 源代码分析
ProgressHUD 真好用,一般只用到加载一朵花指示器,和一秒钟的文本弹窗第一个例子,UIActivityIndicatorView, 菊花调用部分swift 调用代码 let hud = ProgressHUD.show() DispatchQueue.main.asyncAfter(deadline: .now() + 1) { hud?.hide() }swift 封装代码func getWindow() -原创 2021-03-09 18:20:54 · 242 阅读 · 0 评论 -
图片朝向,与滤镜(透视校正)
前言:本文承接:照片选择区域功能的另一实现: 加动效及其他两篇接着讲述选择区域相关的处理旋转,选择区域,对选择的区域做透视校正的滤镜处理为了简化问题,项目设置为,仅 iPhone 竖屏运行在 iPad 上面这是拍照后,经历了一次左旋的图片问题使用滤镜(透视校正)简单,旋转后的图片,很可能与旋转前的图片朝向不一致,这影响了滤镜的效果场景ipad 拍照,默认横屏向上,跑 iPhone 竖屏的应用,相机设置为connection?.videoOrientation = AVCap原创 2021-02-24 00:21:43 · 515 阅读 · 2 评论 -
照片选择区域功能的另一实现: 加动效
前言:之前写了两份相关的,低仿扫描全能王的选择区域功能仿扫描全能王的选择区域功能:拍照,旋转思路就是从 touch 相关方式,识别点,直接绘制不方便,简单地添加动画本文介绍另一思路,通过控件有参考 rzmn/CropView思路具体1, 拿到点,还是同样的三个方法,touchesBegan, touchesMoved, touchesEnded2, 视图层级功能视图 cropView, 添加在 image view 上,在功能视图 cropView, 识别手势画线,四条原创 2021-02-17 02:31:10 · 379 阅读 · 0 评论 -
从 wav 播放器,学习 AudioToolBox 的 services
AudioToolBox 的工具分两类,有处理音频数据的,播放即输出,录音即输入等,主要用到的是 AVAudioEngine,稍微底层一些,就是音频队列 Audio Queues使用 Audio Queues 播放,即拿音频数据,注入 buffer, 将 buffer 提交给 Audio Queuesbuffer 很好理解,不用缓冲 buffer,逐个提交音频数据給声卡,也是可以的坏处是,声卡消费数据慢,内存准备数据快,这是由计算机硬件决定的使用 buffer, 采样数据注满到一个容量 ca原创 2020-11-25 23:23:20 · 268 阅读 · 0 评论 -
python 爬取网站的博客目录
第一步,安装 requests-html升级 pippip install --upgrade pip升级 urllib3sudo python3 -m pip install urllib3 --upgrade安装 requests-html sudo python3 -m pip install requests-html第 1.1 步,给项目,安装 requests-html修改 setup.py 文件,添加install_requires=[原创 2020-11-12 11:47:49 · 320 阅读 · 1 评论 -
复习自定制布局 UICollectionViewFlowLayout
复习自定制布局 UICollectionViewFlowLayout,这里做装饰视图class DecorationFlow: UICollectionViewFlowLayout {private var cache = [IndexPath: UICollectionViewLayoutAttributes]()override func prepare() { super.prepare() register(HistoDecorationV.self, forDecorat原创 2020-11-08 18:56:50 · 188 阅读 · 0 评论 -
IQKeyboardManager 源代码看看
IQKeyboardManager 三步走大家都用 IQKeyboardManager,IQKeyboardManager 引入,就管理好了第 1 步,注册系统通知,获得键盘事件从键盘事件中,得到输入文本框对象, UITextField / UITextView 的实例IQKeyboardManager 初始化的时候,就完成了这些第 2 步,计算出当前文本框的位置, 并移动有了文本框,要找到他当前的位置,frame就要从文本框溯源,找到他的根视图控制器然后计算出当前文本框在哪个位置合适,原创 2020-11-08 03:43:59 · 472 阅读 · 0 评论 -
apple 内购: IAP 注意
1, 自动续费声明: "自动续费声明:\n1.付款:“连续包月、学期卡、连续包月”商品为自动续费商品,确认购买后,会从您的苹果iTunes账户扣费;\n2.续费:在您订阅周期到期前24小时,苹果会自动从iTunes账户扣费,成功后会员有效期自动延长;\n3.如需取消自动续费,可在“手机设置→苹果 id 账号→订阅管理”页,点击“ xxx 应用 “的“取消订阅”按钮取消" 2, meta data 单条目先填本地化再上图片组信息的本地化最后 OK...原创 2020-11-05 18:11:26 · 256 阅读 · 0 评论 -
可撤销草图绘制的跨平台解决思路
iOS 开发草图绘制,简单可参照前文 iOS 开发简单的手绘应用思路:* 绘图的步骤可撤销那么绘图的每一个步骤,都要保存。建设一个行为栈,撤销操作,对应栈的后进先出。本文保存三种行为,文书框、画线、与橡皮擦。橡皮擦也是画线,那线的颜色为背景色,即可。保存文本框struct PaintItem: Codable { var id: Int var action: Int var text: String? // 内容 var pos: M.原创 2020-10-18 16:07:58 · 171 阅读 · 0 评论 -
Xcode , 开发中加快编译
项目大了,编译慢,开发新功能,还是编译老代码,很烦呀如果在项目中,新开一个项目,他可以使用公共组件,pods,无关的模块,对他隔离有点类似,project in project上面说的,探索,悬可以用 Xcode 的多 target 来简化编译新功能,放在一个 tartget , 取消无关的编译项目,也是一个辛苦活 先拷贝一个 target 一般会新建你的入口,指定功能的入口 然后就是不停选择文件的归属新功能的属于主 target ...原创 2020-10-12 11:54:52 · 188 阅读 · 1 评论 -
低仿扫描全能王的选择区域功能
扫描全能王 CS, Cam Scanner 很是强大,本文简单仿一下他的选择区域功能。端点可拖动1, 识别点本文例子比较简单,只有四个端点,用于拖拽给定四个坐标,先识别到开始点击的位置,距离哪个点近,就认为要拖动那个点 // 四个点,按方位划分 enum SketchPointOption: Int{ case leftTop = 0, rightTop = 1, leftBottom = 2 case rightBottom = 3原创 2020-09-22 10:36:36 · 680 阅读 · 0 评论 -
mac 上使用 image magick,制作 Xcode 的简单的 ⭕️ 图标
圆环套圆心先画一个白色的大圆,上面再叠加一个红色的圆代码:imgTwoClass(){ Width=$1 StrokeW=3 ((Radius = $Width * 0.5)) ((StrokeW_second = $StrokeW * 2)) convert -size ${Width}x${Width} xc:none \ -draw "fill \"#FFFFFF\" circle ${Radius},${Radi...原创 2020-06-29 17:17:05 · 295 阅读 · 0 评论 -
一次有意思的技术降级,iOS 启动广告,直接 push,首页不出现
PM 提了个需求,启动广告界面点击了, 就直接进,不需要闪一下主界面。##### 要这种:实现的思路,多 window 模式-一般的广告界面就是 Key Window 上面...原创 2019-01-04 23:09:46 · 212 阅读 · 3 评论