自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Negan的Blog

不积跬步无以至千里

  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 Mac电脑设置hosts的方法

hosts文件是什么hosts文件是一个系统文件,通过绑定域名与ip的关系,当本机访问该域名时,会从这个文件中找相应的记录,如果有找到则马上打开对应的网页,如果没有找到就走DNS公网解析来打开网页,所以是一个加速访问以及本地开发绑定域名的好方法。...

2021-06-04 09:00:31 418

原创 搭建Flutter环境

2021-05-25 20:48:13 80

原创 微信登录

1、获取appid和appsecret2、target—>info设置白名单3、target—>info—>url types4、下载微信sdkhttps://developers.weixin.qq.com/doc/oplatform/Downloads/iOS_Resource.html5、appdelegate 导入头文件6、注册7、实现回调8、在login方法中调用登录请求方法...

2021-03-04 11:31:40 88 1

原创 给UIBarButtonItem增加分类快速创建左右按钮

#import "UIBarButtonItem+extension.h"@implementation UIBarButtonItem (extension)+ (instancetype)itemWithImage:(UIImage *)image andSelectImage:(UIImage *)selectImage target:(id)target method:(SEL)action;{ UIButton *button = [UIButton buttonWithType

2021-02-13 13:23:49 117

原创 自定义tabbar

自定义类继承自UITabbar重写layoutsubviews方法布局tabbar在initwithframe中加入自定义中心按钮for循环遍历subviews ,取出uitabbarbutton 类 修改frame设置tabbar 时 使用kvc setvalue forKeyPath @“tabBar”

2021-02-09 22:51:02 62

原创 Git 团队开发

GIT 团队开发git仓库类型:文件夹u盘网盘GitHubOSChina创建一个代码共享库git init --bare(让一个文件成为一个代码共享库)经理将共享库的代码克隆下来 git clone 地址项目经理初始化项目忽略文件 :在.git 同级目录下创建.gitignore 文件,在该文件中指定需要忽略的文件。创建.gitignore 命令:touch .gitign ore打开.gitigore 命令:open .gitignore在GitHub 搜索giti

2021-01-30 23:09:28 92

原创 Markdown标记语言 基本使用语法

1、插入代码片段2、标题# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题一级标题二级标题三级标题四级标题五级标题六级标题3、字体//加粗** 加粗的内容 **//高亮== 高亮内容==//删除线~~ 删除内容~~//斜体*斜体内容*//加粗** 加粗的内容 **//高亮== 高亮内容 ==//删除线~~ 删除内容~~//斜体斜体内容4、引用//引用语法>作者 Negan&

2021-01-09 16:28:03 132 1

原创 iOS 内联函数 static inline

使用内敛函数的目的为了解决函数调用效率的问题 由于函数之间的调用,会从一个内存地址调到另一个内存地址,当函数调用完毕后还会返回原来函数执行的地址,会有一定的时间开销。内敛函数和普通函数的区别我们都知道函数不管是OC还是C/C++最终都需要编译成汇编指令,才能真正执行。普通函数在被调用的时候需要CPU执行CALL指令不同(需要完成程序计数器压栈->执行要执行的函数语句->出栈程序计数器),内联函数不需要这个调用过程,内联函数在编译的时候,会直接在需要执行内联函数的地方(普通函数执行CA

2020-12-24 17:14:28 559 1

原创 iOS __unsafe__unretained属性

1、表示弱引用关系,被释放后指针不会置空,而是变成野指针,此时访问,会报bad_access坏内存访问。2、__weak修饰对象会自动置为nil,不会崩溃。3、两者相比__unsafe_unretained比__weak快,消耗资源更少。但是容易引发野指针。4、当你明确对象的生命周期的时候,可以使用__unsafe_unretained修饰,可以稍微提高性能。...

2020-12-22 22:46:41 260

原创 iOS 测试断言用法

1、XCTFail 生成一个失败的测试 2 、XCTAssertNil 为空判断,nil表示成功,非空则失败3、XCTAssertNotNil 不为空判断 ,不为空时成功,为空失败4、XCTAssert 和 XCTAssertTrue 表达式为true时成功,为false时失败5、XCTAssertFalse 表达式为false时成功,为true时失败6、XCTAssertEqualObjects [a1 isEqu...

2020-12-22 22:42:22 244

原创 iOS 逻辑分辨率适配

iOS适配类型: 位置、大小、文字的适配,是否按比例扩大 图片资源适配 2x 3x 以及资源管理。 iPhone X适配 safeArea / 交互 逻辑分辨率逻辑分辨率,用于描述显示的单位,只是直观的反映大小和距离,屏幕越大,逻辑分辨率越大逻辑分辨率的适配按比例扩大缩小,一般以iPhone6作为标准大屏幕展示更多内容 / 保证左右边距UIScreen & UIDevice获取设备的逻辑尺寸 - UIScreen基于硬件显示的相关属性 [U

2020-12-22 22:39:29 361

原创 iOS mj_footer上拉加载更多调用多次的问题

设置以下属性:self.tableView.estimatedRowHeight =0;self.tableView.estimatedSectionHeaderHeight =0;self.tableView.estimatedSectionFooterHeight =0;

2020-12-22 21:44:11 377

原创 iOS获取视频第一帧

// 获取视频第一帧+ (UIImage*)getVideoFirstViewImage:(NSURL *)path { AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:path options:nil]; AVAssetImageGenerator *assetGen = [[AVAssetImageGenerator alloc] initWithAsset:asset]; assetGen.appliesPreferr.

2020-12-22 21:33:50 1799 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除