![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios
文章平均质量分 59
Jian_Ze
iOS开发工程师
展开
-
iOS 底层对象探索(下)
iOS 底层对象探索(下),包含 isa 指针详解原创 2022-06-09 12:18:33 · 190 阅读 · 0 评论 -
iOS 底层对象探索(上)
iOS 底层对象探索(上)原创 2022-04-23 21:00:02 · 1659 阅读 · 0 评论 -
iOS 热重载(storyboard/xib 控件可视化开发 )
iOS 热重载(storyboard/xib 控件可视化开发 )热重载的意义IBInspectable 关键字IB_DESIGNABLE / IBDesignable 关键字drawRect 方法代码方式刷新热重载的意义写 UI 布局时,会花费大量时间,而往往改动一个属性就要重新编译运行看效果,编译所花费的时间是巨大的,这些耗时都是无意义的,所以如果 Xcode 可以立马刷新我们的 UI 代码,是很有意义的。而热重载就是一种解决方案IBInspectable 关键字将属性用 IBInspectabl原创 2021-12-22 22:41:18 · 1712 阅读 · 0 评论 -
iOS 解决手势冲突
一、问题长按手势被识别成单点手势,执行了单点手势的动作,结果就是长按的动作和单击的动作都执行了二、解决方案以 RxSwift 的触摸事件为例,将长按事件的优先级调到最高,就会先识别长按lazy var tappedChatSubject = chatBgView.rx .tapGesture(configuration: { [weak self] (ges, _) in guard let longPressGes = self?.chatBgView.gestureRec原创 2021-04-23 18:10:34 · 894 阅读 · 0 评论 -
Swift SnapKit
一、基本用法snp是手动布局神器,在做约束的时候经常用到,首先导入 pod 依赖pod 'SnapKit', '~> 5.0.0'原创 2021-03-31 19:42:03 · 1007 阅读 · 0 评论 -
M1 MacBook pod install 报错芯片不兼容问题
一、问题分析M1 的 MacBook 在安装CocoaPods 时没有出问题, 但是在 pod install 时,出现了很多问题,比如LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle - /Library/Ruby原创 2021-03-18 12:13:26 · 1516 阅读 · 0 评论 -
Xcode 报错 Multiple commands produce
一、问题分析这种报错是因为工程里有重复的文件导致的,只要到工程里删掉重复的文件就行二、解决方案进入工程 -> 找到Build Phases -> 搜索找到报错的重复文件 -> 删除有问题的文件原创 2021-03-18 11:23:24 · 4519 阅读 · 1 评论 -
UIButton
一、UIButton 的创建UIButton *btn = [UIButton buttonWithType:(UIButtonType)];能够定义的 button 类型有以下6种:typedef enum { UIButtonTypeCustom = 0, /// 自定义风格 UIButtonTypeRoundedRect, /// 圆角矩形 UIButtonTypeDetailDisclosure, /// 蓝色小箭头按钮,主要做详细说明用 UIButtonTypeI原创 2021-02-19 17:18:34 · 290 阅读 · 0 评论 -
声明property属性中的关键字
示例:@property (nonatomic, strong)NSString *name;@property (nonatomic, assign)NSInteger age;1.nonatomic, atomicatomic 原子操作:给资源进行加锁解锁 ,安全 , 效率不高(如12306买火车票系统)nonatomic 非原子操作: 没有加锁解锁机制 ,不安全, 效率高...原创 2019-04-28 19:17:02 · 536 阅读 · 0 评论 -
自动布局
自动布局想要在storyboard中实现对layer层属性进行设置,步骤如下:1.点击Key Path中的+2.添加layer.borderColorFromUIColor, Type设为Color3.添加layer.borderWidth, Type设为Number4.由于borderColor为CGColor类型,因此不能直接使用layer.borderColor,...原创 2018-08-15 15:35:00 · 168 阅读 · 0 评论 -
APP之间的跳转
APP之间的跳转一、摘要点击某个App内链接时,可以跳转到另外一个App,主要使用UIApplication和scheme二、基础知识预备网址的构成:e g:http://www.baidu.com/1.png?pwd=123OC中使用 url.scheme 获取url的协议 http url.host 获取主机名 www.baidu.c...原创 2019-03-05 20:04:00 · 576 阅读 · 0 评论 -
使用第三方库读取plist文件
使用第三方库读取plist文件一、摘要在数据模型中,读取数据一直是一个比较头疼的问题,以读取plist文件为例,需要一层层往内读,如果自己写代码及其耗时而且容易出错,而使用第三方库,一句代码就可以搞定。二、实例以shop.plist为例1.传统方法//重写get方法- (NSMutableArray *)shopArray{ if (_shopArr...原创 2019-03-06 20:28:00 · 914 阅读 · 0 评论 -
图片虚化效果
图片虚化效果一、创建主要使用UIBlurEffect类UIView+BlurEffect.h#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface UIView (BlurEffect)/* 使用这个方法就能实现给这个视图添加虚化效果 */- (void)addBlurEffect:(CGRe...原创 2019-03-07 20:37:00 · 576 阅读 · 0 评论 -
用NSKeyedArchiver存储数据(归档)
用NSKeyedArchiver存储数据(归档)一、NSKeyedArchiver和NSUserDefault的区别NSUserDefault只能存储基本数据类型,如NSInteger NSString NSArray 但像UIImage就存不进去将各种类型的对象存储到文件中,而不仅仅是字符串、数组和字典类型,有一种更灵活的方法。就是利用NSKeyedAarchiver类创建带键(ke...原创 2019-04-27 16:53:00 · 749 阅读 · 0 评论