
objective-C
judgejames
这个作者很懒,什么都没留下…
展开
-
resizableSnapshotViewFromRect方法
官方文档:https://developer.apple.com/documentation/uikit/uiview/1622597-resizablesnapshotviewfromrect?language=objc方法声明:- (nullable UIView *)resizableSnapshotViewFromRect:(CGRect)rect afterScreenUpdates:(BOOL)afterUpdates withCapInsets:(UIEdgeInsets)capIn原创 2020-12-28 16:11:38 · 525 阅读 · 0 评论 -
CAGradientLayer遮挡子控件问题
我们在定义好CAGradientLayer实例后一般要通过下面的代码将实现的效果作用到对应的组件中:[self.view.layer addSublayer: self.gradientLayer];但是此时self.view中可能已经有其他的子控件已经添加到了self.view中,由于CAGradientLayer也属于一种图层,所以此时就会遮盖住其他子控件。解决方案:改用insertSublayer方法将CAGradientLayer实例添加到最底部(index为0)[self.原创 2020-12-23 15:07:03 · 638 阅读 · 0 评论 -
OC中使用Block替代通知事件
使用Block的替代通知的好处不仅降低了系统的资源占用且更高效,使用起来还简单方便。下面的例子为,在A类中定义了B类的属性,B类中事件发生时需要通知A类然后A类需要做一些操作,也可以接受参数与返回值。1、第一步在B类中添加block属性,例如(可以设置block的返回值和参数来实现A类与B类的数据传递):2、第二步在A类中定义block属性(一般在初始化时),例如:3、最后一步,在B类中需要触发事件的地方调用block,例如:...原创 2020-10-10 17:00:34 · 201 阅读 · 0 评论 -
iOS14 适配及部分解决方案
本文是从简书网上复制而来,因本人参考的简书上一个不错的iOS 14适配博文打不开了,所以防止内容找不到在此复制一份。在6月份刚结束的首次线上 WWDC 2020 发布会上苹果向我们展示了新的 iOS14 系统。iOS14 的适配,很重要的一环就集中在用户隐私和安全方面。在 iOS13 及以前,当用户首次访问应用程序时,会被要求开放大量权限,比如相册、定位、联系人,实际上该应用可能仅仅需要一个选择图片功能,却被要求开放整个照片库的权限,这确实是不合理的。对于相册,在 iOS14 中引入了 “Lim.原创 2020-08-17 16:07:20 · 5922 阅读 · 0 评论 -
OC协议(Protocol)、分类(Category)和类扩展的简单使用
1⃣️ 协议Protocol创建自己的协议 //定义MyPerson协议,NSObject是基协议@protocol MyPerson<NSObject>//@required修饰的方式是必须实现的,没有实现就会出现警告@required-(void)test;-(void)test1;//@optional不要求实现@optional-(void)test2;@end 遵循协议 -只要遵循一个协议,就拥有了该协议的所有方法-允许遵循多.原创 2020-07-28 13:05:58 · 936 阅读 · 0 评论 -
ComponentKit框架学习
一、特性三大特性:描述性:通过stack的特点纵向或横向堆砌,排版模具来告诉我们某一个元素A的子元素在A中如何排列。 函数式:保证数据流是单向的,也就是数据决定Component。比如方程“1 + X”,如果“X = 2”,则相对应的结果就是3是固定的。数据如果确定了,那么结果就是不变的。当数据发生改变时,对应的Component会进行重新渲染(底层实现会尽量少的重新渲染)。 可组合:...原创 2020-02-08 21:12:27 · 1497 阅读 · 0 评论 -
pushViewController和presentViewController的区别
用UINavigationController的时候用pushViewController:animated ----返回之前的视图[[self navigationController] popViewControllerAnimated:YES]; ---ps:push以后会在navigation的left bar自动添加back按钮,它的响应方法就是返回。所以一般不需要写返回方法,点b...原创 2019-12-29 17:54:27 · 373 阅读 · 0 评论 -
IOS序列化与反序列化NSKeyedUnarchiver与NSKeyedArchiver
1.序列化有何作用? 面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中。 当你写的数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对其进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序列化,这样才能将数据读出来...原创 2019-12-29 17:46:13 · 973 阅读 · 0 评论 -
dispatch_once创建单例及使用
dispatch_once是实现单例模式的一种手段,是iOS开发中的一种手段。还有其他如NSNotificationCenter、NSFileManager等,获取它们的实例要通过[NSNotificationCenter defaultCenter]和[NSFileManager defaultManager]来获取,这也是一种单例的方式。dispatch_once的函数原型如下...原创 2019-12-29 17:39:37 · 413 阅读 · 2 评论 -
OC中的SEL
SEL即为selector的缩写。一般以报错的方式来检测一个类中是否存在某个类方法或对象方法。SEL的几种用法:1. 配合对象或者类检查类或对象中是否有某个方法 //setAge为对象中的方法 //如果对象中没有setAge方法就会报错 SEL sel = @selector(setAge); Person *p = [[Person al...原创 2019-12-27 15:25:35 · 479 阅读 · 0 评论