ios
文章平均质量分 51
走向后山
你的价值来自你的行动
展开
-
Xcode12使用Assets设置启动页并使用
目的:不使用"LaunchScreen.storyboard"来完成启动页的设置方法,开始操练一:删除文件删除 LaunchScreen.storyboard二:添加启动页图片1、找到它↓,然后点击打开2、添加LaunchImage3、将对应分辨率的图片拖入三:设置启动页关联1、找到下图的蓝框部分2、替换成 ↓ 下图所示 ( 注意“LaunchImage” 是在Assets中设置的文件名称)完事收工!运行看下效果吧。...原创 2021-05-13 14:22:00 · 531 阅读 · 0 评论 -
IOS核心动画高级三:图层几何学
第二章里,我们介绍了图层背后的图片,和一些控制图层坐标和旋转的属性,在本章里面我们将要看一看在图层内部是如何根据父图层和兄弟图层来控制位置和尺寸的。另外我们也会涉及如何管理图层的几何结构,以及它是如何被自动调整和自动布局影响。布局UIView有三个比较重要的布局属性:frame、bounds和center。CALayer对应的叫frame、bounds和position。为了能够区分清楚,图层用了”翻译 2017-06-14 14:26:44 · 1889 阅读 · 1 评论 -
IOS核心动画高级二:寄宿图
寄宿图承接上文,我们在【图层树】的文章中介绍了CALayer 并且创建了一个简单蓝色背景的图层进行展示,如果图层只能展示单调的颜色未免太无聊了,事实上CALayer类能够包含一张你喜欢的图片,本章我们一块来探索CALayer的寄宿图(即图层中包含的图)。contents属性CALayer有一个属性叫做contents,这个属性的类型被定义为id,意味着它可以是任意类型的对象。在这种情况下,你可以给c翻译 2017-06-12 14:38:25 · 936 阅读 · 0 评论 -
IOS核心动画高级五:变换
在第四章“视觉效果”中,我们研究了一些增强图层和它的内容显示效果的一些技术,在这一章中,我们将要研究可以用来对图层旋转、摆放或者扭曲的CGAffineTransform。以及可以将扁平物体转换成三维空间对象的CATransform3D。仿射变换在第三章【图层几何学】中我们使用了UIView的transform属性旋转了钟表的指针,但是并没有解释背后运作的原理,实际上UIView的transform属翻译 2017-06-20 14:50:01 · 1738 阅读 · 0 评论 -
IOS核心动画高级一:图层树
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-06-06 21:58:45 · 1236 阅读 · 0 评论 -
蓝牙实战总结一,就是干货(会持续更新)
背景说明:由于公司的业务需要在之前积攒了一些关于蓝牙开发经验,在此做过mark , 温故而知新,也希望能给后来的学习者提供一些帮助,那好,here we go !本篇文章的学习对象是基于蓝牙4.0外设的开发,所以如果涉及到其他的蓝牙版本,请移步了。蓝牙4.0介绍有关蓝牙4.0过多的基础介绍就不在这里赘述了,移步这里 百度百科 以下是来自维基:。 蓝牙4.0是Bluetooth SIG于2010年原创 2017-05-22 14:28:30 · 2250 阅读 · 0 评论 -
IOS核心动画高级四:视觉效果
我们在第三章【图层几何学】中讨论了图层的frame,第二章【寄宿图】我们讨论了图层的寄宿图,但是图层不仅仅可以是图片或是颜色的容器。还有一系列内建的特性使得创建美丽优雅的令人深刻的界面元素成为可能,在这一章,我们将会探索一些能够通过使用CALayer属性实现的视觉效果。圆角圆角矩形是ios中的一个标志性审美特性。这在ios中的每一个地方都得到了体现。不论是主屏幕图标,还是警告弹窗,甚至是文本框,按照翻译 2017-06-16 17:17:17 · 2808 阅读 · 1 评论 -
ios - 多线程之十一:NSOperation
NSOperation 是抽象类,所以要用子类来进行线程使用;目前是三种方式: 1:NSInvocationOperation 2:NSBlockOperation 3:创建子类继承自 NSOperation###1:NSInvocationOperation NSInvocationOperation : 可以理解为是一个为 @selecto原创 2017-05-12 15:22:09 · 422 阅读 · 0 评论 -
ios - 多线程之十:GCD_after
dispatch_after : 延迟操作直接上代码演示: //GCD - dispatch_after 执行延时操作;——不会堵塞线程/* 参数: DISPATCH_TIME_NOW : 从什么时间开始延时(从当前时间开始延时) (int64_t)(20 * NSEC_PER_SEC) :延时时长( NSEC_PER_SEC 以秒为单位) dispatch_g原创 2017-05-12 15:20:45 · 399 阅读 · 0 评论 -
ios - 多线程之九:GCD_once
dispatch_once 常用于单例 : 只创建一次,如果不对对象进行销毁的话,它会一直存放于内存当中。代码说明下:1:创建单例文件 2:.h文件中生命类方法+ (instancetype) initWithName:(NSString *)nameString;3:.m文件中实现static ShareObject *object = nil;+ (instancetype) initW原创 2017-05-12 15:18:19 · 411 阅读 · 0 评论 -
ios - 多线程之八:GCD线程组
在我们的实际开发过程中会碰到这样的问题,只有当任务1和任务2都完成之后才能执行任务3,这种情况下就需要线程组的出现来解决这类问题。常用方法注意事项:使用线程组的方法来创建任务是没有同步任务的,创建按钮入口UIButton *btn5 = [UIButton buttonWithType:UIButtonTypeCustom];btn5.frame = CGRectMake(40, 350, 100原创 2017-05-12 15:17:10 · 1738 阅读 · 0 评论 -
ios - 多线程之七:GCD并行
接以上项目,我们开始 GCD 并行队列的使用创建按钮入口UIButton *btn4 = [UIButton buttonWithType:UIButtonTypeCustom];btn4.frame = CGRectMake(40, 300, 100, 40);[btn4 setTitle:@"GCD并行" forState:UIControlStateNormal];[btn4 setBa原创 2017-05-12 15:15:06 · 848 阅读 · 0 评论 -
ios - 多线程之六:GCD串行
在之前的项目技术上,我们进行学习1:创建入口按钮//第三种方式 GCDUIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];btn2.frame = CGRectMake(40, 250, 100, 40);[btn2 setTitle:@"GCD串行" forState:UIControlStateNormal];[bt原创 2017-05-12 15:13:10 · 819 阅读 · 0 评论 -
ios - 多线程之五:GCD
简单介绍GCD 是苹果为了解决多核的并行运算提出的一套解决方案,它可以合理的利用更多的 cpu 内核,它可以自动的管理线程的生命周期,比如说线程创建,任务调度,销毁线程。我们只需要告诉 GCD 要干什么;GCD 是基于 C 语言,同时呢GCD 又引入了 block 语法块, 使用起来更加方便和灵活,基本开发人员都是使用 GCD 来实现一些多线程的开发。概念介绍同步 & 异步 这点是针对于任务而言的原创 2017-05-12 15:12:17 · 744 阅读 · 0 评论 -
ios - 多线程之四:线程锁
假如我们在功能的实现过程中,类中有一个全局变量,我们创建了多个线程去同时改变或者使用这个变量,会出现什么问题?线程锁就是用来解决多线程之间对资源共享的问题;思路在上文《多线程之三》的基础之上进行演示,模仿多个地点进行售票的案例。代码展示1:创建按钮 //问题 : 当多个线程执行某一块相同代码,需要线程锁进行保护原创 2017-05-12 15:10:59 · 782 阅读 · 0 评论