
iOS开发
文章平均质量分 60
iOS开发过程中遇到的需求
小莫同学~
用心梳理加强理解,记录在案方便查阅
https://github.com/mxh-mo
展开
-
iOS_国际化
iOS 手动实现 国际化原创 2025-03-29 08:00:00 · 737 阅读 · 0 评论 -
iOS_AVAudioSession 音频硬件 Input/Ouput 管理
iOS 通过 AVAudioSession 管理App对音频硬件 Input/Ouput 资源的使用原创 2025-02-06 09:00:00 · 1252 阅读 · 0 评论 -
iOS_设备硬件标识
像素 pixel/px 是一个相对长度(不是自然长度),一个像素可以很小也可以很大像素点小,分辨率高像素点大,分辨率低。原创 2024-12-30 09:00:00 · 899 阅读 · 0 评论 -
iOS_图片加载优化
因为下载图片前只有url,所以无法预测下载到的图片的大小。如果不进行优化处理,加载到大图就会导致内存飙升,图片足够大或数量足够多时还会有 OOM 的风险。所以终端必须对图片的加载进行优化处理。原创 2024-10-13 19:19:27 · 451 阅读 · 0 评论 -
iOS_模拟系统音量/亮度视图
自己实现音量和亮度视图,然后显示在所需区域。原创 2024-09-15 08:00:00 · 296 阅读 · 0 评论 -
iOS_获取当前聚焦的窗口keyWindow+安全区域
iOS_获取当前聚焦的窗口keyWindow。原创 2024-06-30 17:23:45 · 452 阅读 · 0 评论 -
商品管理App隐私政策
商品管理 隐私政策欢迎您访问我们的产品。商品管理 (包括App等产品提供的服务,以下简称“产品和服务”)是由 miki (以下简称“我们”)开发并运营的。确保用户的数据安全和隐私保护是我们的首要任务, 本隐私政策载明了您访问和使用我们的产品和服务时所收集的数据及其处理方式。请您在继续使用我们的产品前务必认真仔细阅读并确认充分理解本隐私政策全部规则和要点, 一旦您选择使用,即视为您同意本隐私政策的全部内容,同意我们按其收集和使用您的相关信息。原创 2024-02-03 15:32:52 · 370 阅读 · 0 评论 -
iOS_Xcode_LLDB调试常用命令
需要设置:Debug → Debug workflow → Always Show Disassembly。官方教程:https://lldb.llvm.org/use/tutorial.html。,会用表达式解析器运行该值的文本,将值替换为该文本。官网:https://lldb.llvm.org/原创 2024-01-28 20:21:22 · 927 阅读 · 0 评论 -
iOS_给View的部分区域截图 snapshot for view
对 view 进行部分区域截图原创 2023-12-16 08:00:00 · 1282 阅读 · 0 评论 -
iOS_制作 cocopods库
3步制作 cocopods 库原创 2023-12-10 08:00:00 · 548 阅读 · 0 评论 -
iOS_获取 UIScrollView 是否处于滑动中 和 滑动方向
detect UIScrollView whether in scrolling and scrolling direction原创 2023-11-19 17:00:36 · 1341 阅读 · 0 评论 -
iOS_Crash 四:Crash的捕获和防护
iOS crash 的捕获 和 防护原创 2023-10-24 21:10:20 · 1731 阅读 · 0 评论 -
iOS_Crash 三:异常类型
分析 crash 报告,定位常见原因原创 2023-09-04 08:00:00 · 3675 阅读 · 0 评论 -
iOS_Crash 二:报告的组成结构
二进制图像,崩溃报告的二进制图片部分列出了终止时进程中加载的所有代码(如:应用程序可执行文件和系统框架)。之后的每一行代表回溯中的一个堆栈帧,堆栈帧的每一列都包含崩溃时执行的代码信息。第一列:堆栈帧号,堆栈帧按调用顺序排列,其中0帧是执行停止时正在执行的函数,1帧则是调用0帧的函数,以此类推。操作系统有时会包含额外的诊断信息,这些信息使用多种格式,具体取决于崩溃的原因,并不是每个崩溃报告都包含。第三列:正在执行的机器指令的地址。第四列:在完全符号化的崩溃报告中,正在执行的函数名称。原创 2023-08-21 08:00:00 · 704 阅读 · 0 评论 -
iOS_Crash 一:文件的获取及符号化(解析)
解析 iOS app crash 文件教程原创 2023-08-13 07:00:00 · 3640 阅读 · 2 评论 -
iOS_适配 iOS16 转屏
iOS 16 适配转屏原创 2023-07-16 20:34:07 · 1890 阅读 · 2 评论 -
iOS_Swift函数派发机制
Swift 方法、函数 的 调用、派发方式,分析、分类和总结原创 2023-04-15 10:00:00 · 1918 阅读 · 2 评论 -
iOS_从相机或相册里扫描二维码或条形码
scan qrCode or barCode from camera or photos原创 2023-04-01 20:21:26 · 1966 阅读 · 0 评论 -
iOS_Memory Leak 内存泄露治理
腾讯视频直播内存泄露治理分享原创 2023-01-31 15:21:01 · 1822 阅读 · 0 评论 -
iOS_Custom Transition Animation 自定义转场动画
官方转场动画文档分析+实现原创 2022-11-27 16:10:34 · 1513 阅读 · 0 评论 -
iOS_NestedScrollView(嵌套ScrollView)
nested scrollView swift 实现原创 2022-08-20 23:12:16 · 2158 阅读 · 0 评论 -
iOS_ReactiveObjC_Observe 观察 基本类型变量
ReactiveObjC监听BOOL因为ReactiveObjC只能监听NSObject类型的数据,所以一般为了能监听BOOL值的类型,我们会用NSNumber来实现BOOL。这里介绍一种在不改变BOOL的情况下,通过封装实现ReactiveObjC监听BOOL值类型。例:一个Person对象,会在某一时刻更改它的hidden属性:@interface MOPerson : NSObject@property (nonatomic, assign) BOOL hidden;- (void)u原创 2022-05-29 17:58:01 · 570 阅读 · 0 评论 -
iOS_追光动效(色值渐变)
追光动效实现效果如下:实现:如下图,红框为一个UIVIew,CAGradientLayer的startPoint和endPoint的取值是(0,0)到(1,1)。将红色和蓝色放入CAGradientLayer的colors数组,再将startPoint和endPoint的取值是(0,0)到(1,1),就可以得到从 左上角 由 红色 到 右下角 的 蓝色 的渐变效果:CGRect imageFrame = CGRectMake(20, 150, 300, 188);CGFloat width原创 2021-10-31 15:32:07 · 890 阅读 · 0 评论 -
iOS_NSTextAttachment图文混排,图片和文字对齐
NSTextAttachment需求:图文混排初始实现的代码如下:let label = UILabel()label.frame = CGRect(x: 50.0, y: 150.0, width: 200.0, height: 100)label.backgroundColor = .purplelabel.numberOfLines = 0self.view.addSubview(label)let attributedStr = NSMutableAttributedString(原创 2021-10-20 21:23:02 · 4362 阅读 · 0 评论 -
iOS_Terminal、Cocoapods 常用命令
文章目录一、基础命令二、快捷键三、`gem`相关:1、管理`gem`:2、配置`gem`:3、`gem`使用四、操作`CocoaPods`:1、安装或更新:2、查看版本:3、降低版本五、使用`CocoaPods`:1、了解资源配置文件:2、导入库3、安装库:4、更新5、查看库安装版本:6、列出Podfile.lock中所有库的最新版本Terminal常用指令作为一个开发,多多少少都得用到Terminal,小白在此记录一些常用指令,以后遇到新的会补充,以便查用~一、基础命令ls # 显示当前原创 2021-09-18 13:08:26 · 1072 阅读 · 0 评论 -
iOS_用Masonry实现 UIView Animation 简单动画
用Masonry实现 UIView Animation 简单动画其实只需要在mas_updateConstraints:设置完需要更新的layout之后调用父视图的layoutIfNeeded方法就行。@interface MOViewTestViewController ()@property (nonatomic, strong) UIView *moView;@end@implementation MOViewTestViewController { BOOL _isOn;}原创 2021-07-28 12:19:12 · 1570 阅读 · 0 评论 -
iOS_给View加外边框
外边距怎么设置原创 2021-05-26 11:04:12 · 2317 阅读 · 0 评论 -
iOS_NSAttributedString根据宽度返回每行文案
NSAttributedString根据宽度返回每行文案原创 2021-04-11 21:59:50 · 349 阅读 · 0 评论 -
iOS_SwiftUI_iOS14_Widget
初探SwiftUI+iOS14Widget;遇到的各种问题原创 2020-12-27 19:25:20 · 1870 阅读 · 1 评论 -
iOS_UIButton将image分别显示在上下左右
封装了图片按钮,可以设置图片位置,分别显示在上下左右;利用 Mansory / SnapKit 调整按钮的位置。原创 2020-12-20 14:03:29 · 597 阅读 · 0 评论 -
iOS_UIButton可点范围为六边形
思路:1、创建UIButton分类,重写layoutSubviews方法;2、绘制六边形路径,将绘制的六边形path赋值给新建的CAShapeLayer;3、将新建的CAShapeLayer覆盖self.layer.mask。4、重写hitTest方法:判断点击的point是否在六边形path内。具体代码如下:#import <UIKit/UIKit.h>...原创 2018-04-11 23:59:17 · 599 阅读 · 0 评论 -
iOS_Swift根据类名创建类
String需要根据项目名生成命名空间前缀+类名再将String转换成需要生成的类型Type再调用 Type.init() 生成对象原创 2020-12-07 15:03:21 · 697 阅读 · 0 评论 -
iOS_Swift 实现UITextView,显示前n行,点击显示“更多”,再点击“收起”效果
仅一个类Class实现:显示前n行文案,点击展开,再点击收起效果。继承自UITextView,运用NSMutableAttributedString实现原创 2020-12-07 14:12:42 · 2042 阅读 · 2 评论 -
iOS_Swift运用AttributedString实现可点击文案
Swift运用NSMutableAttributedString实现可点击文案原创 2020-12-01 09:38:24 · 3263 阅读 · 0 评论 -
iOS_App性能优化(Energy Efficiency)指南整理
能源效率:耗电量、速度、交互迅速、温度。。。优化方向:合理安排任务顺序、网络请求、图形动画视频、位置和动作、通知、蓝牙、watch能源监控工具的使用原创 2020-10-16 17:07:39 · 1974 阅读 · 0 评论 -
iOS_AFNetworking 结构解析+用例分析+源码阅读
AFNetworking Github OC语言排第一, 凝聚了众多封装了NSURLSession的网络请求, 线程NSOperation最大并发数是1, 保证每个网络请求串行进行Session中的taskData都是异步执行-由NSURLSession,Security,Reachability,Serialization,UIKit五部分组成对网络状态的监听和处理网络通信信息序列化/反序列化判断method:Get、Head、Delete / Post、Put区分不同的参数拼接方式对参.原创 2020-09-14 19:06:27 · 853 阅读 · 0 评论 -
iOS_多线程五:基础的9种锁,扩展12种使用
介绍5种类型的锁,iOS的9种锁及使用原创 2020-06-24 16:05:04 · 482 阅读 · 0 评论 -
iOS_音频波形图Time、Wave实现,滑动设置播放进度
实现如下:需要的数据源:1、demo.mp3:音频文件2、samplePoints 数组:每秒音量(0-1)数组,根据音频pcm采样数据文件计算出来的(遍历:每秒取一点,并记录下最大值;最后按取值为0至1,进行缩放。计算完的数存如数组)(这里不过多描述计算音量过程,以后有时间补...)接下来是UI实现思路:一、滑动视图:用了两个TableView,上面的显示时间和刻度,下面的显示音量Lines。为了让时间显示在cell中间,所以设置结构如下图:time table原创 2020-06-10 14:39:44 · 3357 阅读 · 0 评论 -
iOS_从其他App获取文件、分享文件给其他App
一、从其他App获取文件:官方文档第一步:让自己的App显示在系统的分享列表里:需要修改 *.plist 文件Key为:CFBundleDocumentTypesValue是:数组,可以包含n个字典,一般一个字典表示支持一种类型的文件 字典:Key Value CFBundleTypeName 文件类型名称(自己起个名) LSHandlerRank 包含Owner,Default,Alternate,None四个可选值 ..原创 2020-05-29 09:51:34 · 3882 阅读 · 0 评论 -
iOS_实现下来ScrollView放大轮播图
创建工程,创建一个UIScrollView属性,并遵循其协议;#define kWidth self.view.frame.size.width //屏幕宽#define kHeight self.view.frame.size.height //屏幕高创建轮播图属性,(也可以直接用UIImageView)@interface ViewController ()<...原创 2016-03-22 21:40:29 · 1932 阅读 · 0 评论