
iOS
文章平均质量分 73
Zmarvin
这个作者很懒,什么都没留下…
展开
-
高仿网易云音乐
高仿网易云音乐链接:高仿网易云音乐数据源自网易云音乐 API,由于接口不全,主页一些section使用的是本地json。swift 5编写。StreamingKit实现音频。ijkplayer实现卡片视频。主要实现了主页,歌单,播放器效果图( 考虑到文件大小,降低了渲染效果。)...原创 2021-02-01 15:21:36 · 324 阅读 · 0 评论 -
CALayer与UIView的关系和作用
原理n 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIViewn 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层n 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层@property(原创 2014-09-10 21:41:57 · 402 阅读 · 0 评论 -
使用CocoaPods开发并打包静态库
使用CocoaPods开发并打包静态库,并解决库类名冲突不知道大家有没有遇到这种情况,当给一个项目中导入一个静态库的时候,会遇到静态库重复第三方库的错误,这时cocopods的这项技术就派上用场了。该技术通过对引用的三方库进行重命名很好的解决了类库命名冲突的问题,比如项目中可以包含两个AFNetworking框架,项目中本身包含一个,静态库中包含一个,两个可以同时存在。在开始之前,需要安装通过pod lib命令完成初始项目的搭建,和安装cocoapods-packager插件。原创 2016-04-13 18:58:19 · 5259 阅读 · 0 评论 -
OC中Foundation框架里常用的结构体和类
NSRange,NSString,NSArray,NSSet,NSDictionary1,NSRange1 初始化方式(1),用一个函数初始化,类似的NSSize,NSRect,NSPoint也是这样赋值的NSRange range = NSMakeRange(NSUInteger loc,NSUInteger len)(2),直接用大括号赋值NSPoint p1 =NSMakePoint(10,10);NSPoint p2 =NSMakePoint(20,20);NSRect r1 ={{原创 2014-07-28 19:55:24 · 680 阅读 · 0 评论 -
iOS 沙盒文件路径获取
1,主目录(沙盒的路径) NSString *homeDir = NSHomeDirectory(); 2,Documents路径第一种获取方法 Documents跟用户个人有关的文档,iTunes、iCloud可以”备份”手机 -> 自动备份Documents目录中的文件 保存应用程序自身生成的数据文件,从网络上下载的文件,不要保存在此文件夹中! NSString *docDir1原创 2017-01-30 03:23:05 · 1895 阅读 · 0 评论 -
揭开block的面纱-读书笔记
Block是“带有自动变量值得匿名函数”,Block看上去好像很特别,但它实际上是作为极普通的C语言源代码来处理的。通过clang -rewrite-objc 资源文件 命令,得到 资源文件.cpp文件,分析可以知道block内部的实现原理。编译举例比如如下代码:int main(){ static int static_val = 3; int (^blk)() = ^{原创 2016-09-02 16:03:16 · 349 阅读 · 0 评论 -
iOS的本地化数据存储
lXML属性列表(plist)归档lPreference(偏好设置)lNSKeyedArchiver归档lSQLite3数据库lCore Data一 ,XML属性列表(plist)归档1,获取沙盒根路径NSString *home = NSHomeDirectory();2,获取document路径NSString *docPath = [home st原创 2014-09-20 10:39:50 · 616 阅读 · 0 评论 -
CALayer属性position和anchorPoint的关系
n @propertyCGPoint position;Ø 用来设置CALayer在父层中的位置Ø 以父层的左上角为原点(0, 0)n @propertyCGPoint anchorPoint;Ø 决定着CALayer身上的哪个点会在position属性所指的位置Ø 它的x、y取值范围都是0~1,以自己的左上角为原点(0, 0),默认值为(0.5,0原创 2014-09-12 00:57:37 · 401 阅读 · 0 评论 -
Foundation框架与Core Foundation框架相互之间的桥接
Foundation框架与Core Foundation框架相互之间的桥接,有三种(可以在官方文档中搜Toll-Free Bridged Types)第一种非ARC(MRC)情况下,直接强制转换(不用桥接)Foundation框架->Core Foundation框架Core Foundation框架->Foundation框架ARC情况下 (内存地址引用计数器为1) 用__bridge桥接原创 2017-01-27 23:13:02 · 410 阅读 · 0 评论 -
静态库和动态库的使用
前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。动态库:链接时不复制,程转载 2017-02-13 00:12:41 · 1257 阅读 · 0 评论 -
iOS 10 的适配问题
转载自http://www.jianshu.com/p/f8151d556930随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出.1.系统判断方法失效:在你的项目中,当需要判断系统版本的话,不要使用下面的方法:#define isiOS10 ([[[[UIDevice current转载 2017-01-17 01:52:09 · 382 阅读 · 0 评论 -
iOS绘制图形的基本方法
1,默认只会在view第一次显示的时候调用(只能由系统自动调用,不能手动调用)2,重绘(这个方法内部会重新调用drawRect:方法进行绘制) [self setNeedsDisplay]; // 最好在set方法中写这个方法 [self setNeedsDisplayInRect:(CGRect)rect]; // 精确位置的重绘 3,画图形注:当系统调用drawRect:方法原创 2016-07-05 14:24:19 · 445 阅读 · 0 评论 -
iOS 6 与IOS 7 UITableView的适配
1, tableview的背景颜色设置tableview的分组样式,(plan样式没有)会有一个backgroundView,会覆盖设置的背景颜色backgroundColor,所以要先清空这个backgroundView,代码如下: self.tableView.backgroundView = nil; self.tableView.backgrou原创 2014-09-17 10:07:10 · 392 阅读 · 0 评论