
ios技术点
文章平均质量分 73
Inoo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【OC】为category添加weak属性
通过中间类对象持有weak属性-分类属性关联中间类对象的形式完成分类添加weak属性的功能。友友们都知道,分类当中是不能添加property的,因为运行时系统不会自动完成@synthesize,所以需要使用runtime的关联对象形式完成property。看来关联对象的assign修饰和属性一样,离开作用域之后对象销毁,assign指针成为野指针,所以我们还是要想办法完成weak修饰。有copy,有retain,还有assign,看起来足够用了。这里有几种方法,目前使用的先记录下来,有空将剩下的补全。原创 2024-06-21 03:41:37 · 737 阅读 · 0 评论 -
【iOS】保存PDF文件和打印功能
新的需求又来了,这次的需求是用户可以在App中打印当前页面,也可以将当前页面保存成pdf文件,以便日后打印。 首先解决一下保存文件的问题,用户需要在文件管理中能查看pdf文件。iOS允许暴露给用户的只有Documents目录,暴露Documents目录只需要在info里添加两个字段 Application requires iPhone environment Supports opening documents in place ok,运行一下已经能在文件管理中看见documents的文件了。接下来处理原创 2020-12-14 15:29:54 · 1992 阅读 · 0 评论 -
【iOS】储水罐波纹样式button 以及 随机路线的泡泡
话说又有这么一个需求……产品想让项目中增加一个按钮:一个点击了之后会有波纹上升的按钮。在波纹到达顶端的时候还会有三个泡泡出现,以随机的路线不同的速度漂浮到固定的一个点…… 好吧,你赢了。 先来完成这个波纹按钮 /* 正弦函数 y =Asin(ωx+φ)+C A 表示振幅,也就是使用这个变量来调整波浪的高度 ω表示周期,也就是使用这个变量来调整在屏幕内显示的波浪的数量 φ表示波浪横向的...原创 2020-05-01 01:28:58 · 253 阅读 · 0 评论 -
【iOS】位掩码的简易使用
在写工具类,写到切圆角的时候突然对UIRectCorner这个枚举感兴趣,于是研究了一下ios中的位掩码。 实际使用的是二进制运算,所以会用到&(与运算符)、|(或运算符)、~(取反运算符)以及>>、<<(移位运算符)。 举例定义 typedef NS_OPTIONS(NSUInteger, ZYViewFrameOption) { ZYViewFrameO...原创 2020-03-17 18:41:07 · 337 阅读 · 0 评论 -
【iOS】录音和音频合成
项目中有个分段朗读课文、朗读完成后合成一段音频播放的需求,三下五除二写完发现不少坑,记录一下。 先放录音代码 //录音 -(void)startRecordWithPath:(NSString *)path{ //如果在录音,停止 if (_audioRecord.isRecording) { [self stopRecord]; } //创建文件保...原创 2020-01-14 09:41:13 · 1291 阅读 · 0 评论 -
【iOS】封装阿里云下载网络请求
app有些数据是放在阿里云服务器上的,需要down到本地之后解压使用,大部分时间这些数据不会改变,所以需要有判断方法来判断他是否需要更新,是更新下载,还是直接读取本地 .h typedef void (^downloadProgress)(int64_t totalLength, int64_t currentLength); ///<oss下载进度的block typedef v...原创 2019-11-04 09:47:35 · 261 阅读 · 0 评论 -
【iOS】颜色转化图片
//颜色转图片 +(UIImage *)imageWithColor:(UIColor *)color { CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentC...原创 2019-11-01 09:48:44 · 768 阅读 · 0 评论 -
【iOS】根据尺寸和比例缩放图片
根据尺寸 //根据指定尺寸缩放图片 -(UIImage *)imageCompressWithSize:(CGSize)size { **// UIGraphicsBeginImageContext(size); ///<用这个失真** UIGraphicsBeginImageContextWithOptions(size, NO, 0.0); ///<用这个不...原创 2019-11-01 09:33:29 · 619 阅读 · 0 评论 -
【iOS】封装AVAudioPlayer
项目需要,封装了AVAudioPlayer .h //单例 +(instancetype)shareManager; /** 开始播放音频 @param musicURL 获取音频的URL */ - (void)startPlayWithURL:(NSURL *)musicURL; /** 开始播放音频 @param musicData 获取音频的data */ -(vo...原创 2019-09-20 15:06:38 · 449 阅读 · 0 评论 -
【iOS】封装AVPlayer
项目需求,封装了一个AVPlayer 视频播放需要AVPlayer,AVPlayerLayer和AVPlayerItem,AVPlayer负责控制视频播放暂停等controller负责的事情,AVPlayerLayer只负责显示这种view需要处理的事情,而AVPlayerItem则是提供播放源。 新建一个继承NSObject的类 //单例类 +(instancetype)shareManager...原创 2019-09-20 14:47:42 · 876 阅读 · 0 评论 -
【iOS】获取本地文件地址
获取plist文件 //获取文件地址 NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"文件名称"ofType:@"plist"]; //读取文件 NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; /...原创 2019-07-19 19:28:05 · 1124 阅读 · 0 评论