自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lichuandev的博客

本博客主要包括一些平常的学习笔记和一些心得体悟!

  • 博客(15)
  • 收藏
  • 关注

转载 完美解决ios开发中两个.framework文件中.o文件冲突的问题(linker command failed with exit code 1 (use -v to see invocation)

项目中使用到XYPrinter.framework和Printer.framework中的两个.o文件有冲突, 查了资料通过拆分XYPrinter.framework删除其中冲突的.o文件,然后重新生成静态库, 解决了问题.步骤如下: 新建一个文件夹resolveConflict, 将XYPrinter.framework复制到resolveConflict文件夹内.XYPrinte...

2019-01-04 15:10:36 2267

原创 单独的某个页面隐藏导航栏下面的黑线

- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; [self...

2018-08-01 10:53:09 513

转载 iOS 11上运行tableView向下偏移64pt或者20pt

1、在iOS 11上运行tableView向下偏移64pt或者20pt,因为iOS 11废弃了automaticallyAdjustsScrollViewInsets,而是给UIScrollView增加了contentInsetAdjustmentBehavior属性。避免这个坑的方法是要判断12345if (@available(iOS 11.0, *)) {_tableView.content...

2018-05-04 11:57:35 950

原创 CABasicAnimation 实现颜色渐变动画

利用 CABasicAnimation 实现颜色的渐变动画- (void)doAnimation:(BOOL)hidden{ CABasicAnimation *anim1 = [CABasicAnimation animationWithKeyPath:@"backgroundColor"]; anim1.duration = 0.2; anim1.fromValue =...

2018-04-19 17:56:44 1854

原创 scrollView 向下偏移64个点的问题以及 scrollView 缩放的问题

第一个问题:scrollView 向下偏移的问题原因在iOS7之前是没有这个问题的,后来苹果更新出自动适配,在控制器里增加了一个新属性automaticallyAdjustsScrollViewInsets默认为YES,通过字面意思大家应该就发现了,开启ScrollView自动调整,就是如果是在nav下的ScrollView里的子View会自动向下偏移64个点。解决不让系统自动适配,将automa...

2018-04-19 16:41:23 640

原创 OC与JS交互

第一种:JS给OC传值,使用JavaScriptCore.framework。oc 代码#import <JavaScriptCore/JavaScriptCore.h>- (void) webViewDidFinishLoad:(UIWebView *)webView{ JSContext *context = [webView valueForKeyPath:@"docum...

2018-04-12 15:43:02 299

原创 iOS开发使用 runtime 方法中的 class_copyIvarList,class_copyMethodList 方法时导致内存泄漏问题

前段时间在做公司新项目的时候使用了 runtime 的 class_copyIvarList 方法来获取类的所有属性的时候,用 leaks 检测,发现这里出现了内存泄漏。后来查了一些资料发现 class_copyIvarList 返回的对象需要手动释放。因为这些是C实现的函数,需要手动对函数返回值进行 free。具体看代码:- (void)prepareForSegue:(UIStoryboard...

2018-04-10 15:54:01 1685

原创 iOS开发最新最全微信第三方登录接入流程

前言:[1] iOS 微信登录注意事项1、目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用。2、对于Android应用,建议总是显示微信登录按钮,当用户手机没有安装微信客户端时,请引导用户下载安装微信客户端。3、对于iOS应用,考虑到iOS应用商店审核指南中的相关规定,建议开发者接入微信登录时,先检测用户手机是否已安装微信客户端(使用sdk中isWXAppIn...

2018-04-10 12:32:51 10639 2

原创 iOS蓝牙开发 —— 连接打印机发送16进制数据的问题

最近在做公司的一个蓝牙连接打印机的项目,正常的蓝牙连接打印机进行打印没问题,但是要发送一个16进制的指令来获取蓝牙设备信息时颇费了一番功夫,现做如下记录:Byte byteArray[] = {0x1d ,0x67 ,0x61};NSData *sendData = [NSData dataWithBytes:byteArray length:sizeof(byteArray)];[self....

2018-04-02 13:27:46 1278

转载 iOS开发网络篇

转载自《iOS开发网络篇—Socket编程》一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。http协议对应于应用层tcp协议对应于传输层ip协议对应于网络层三者本...

2018-03-23 10:22:55 364

原创 Xcode8.3.2 性能调优工具 Instruments 之 TimeProfiler -- 揪出页面卡顿利器的使用方法

废话不多说,直接上干货:(切记两点:1、真机调试。2、应用程序运行一定要发布配置而不是调试配置)第一步:找到 TimeProfiler (两种方法)1、打开项目2、打开项目第二步:TimeProfiler 配置第三步:找到耗时的函数从图片中可以看出最耗时的是-[ERSelectDayViewController lastButtonClick:]这个方法,不过这个方法涉及到数据库的操作,先不管。看...

2018-03-21 13:04:34 3838

原创 关于GCD线程死锁的一点儿理解

上一篇在总结 GCD 的时候读到了一篇博客,提到了这么一个问题:既然在主队列(dispatch_get_main_queue)中同步(dispatch_sync())执行一个任务会造成死锁,- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%@",[NSThread currentThread]); dispatch_sy...

2018-03-17 19:26:44 193

原创 笔记:对多线程技术GCD的简单总结

提到 GCD 首先应该明白六个概念:串行队列(DISPATCH_QUEUE_SERIAL)、并行队列(DISPATCH_QUEUE_CONCURRENT)、同步执行(dispatch_sync)、异步执行(dispatch_async)、全局队列和主队列,今天主要是先总结一下前四个概念,因为全局队列和主队列比较重要,是最常用到了,放到下一章单独讲。串行队列:队列中的任务是顺序地执行,前一个任务执行...

2018-03-17 16:50:20 230

转载 笔记:ios性能优化(未完待续。。。)

最近在网上看了很多的内存优化方案,感觉都很 nice ,本文主要是对网上的内存优化方案做一下列表式总结,不涉及具体的内容(主要目的就是备忘):用ARC管理内存(貌似现在的新项目99%用的都是ARC了)在正确的地方使用 reuseIdentifier尽可能使 View 不透明(View不透明的情况下 GPU在计算颜色的时候只需要计算本图层的颜色,如果 View 透明,则需要把下 面图层的颜色计算在内...

2018-03-16 17:39:10 190

原创 笔记:利用 runtime 交换方法、给分类动态添加属性

第一次写博客,有些小紧张,如有不对的地方还请大牛们及时指出,在此先感谢各位大牛了...一、利用 runtime 交换方法:1、交换方法的实现#import "UIImage+mImage.h"@implementation UIImage (mImage)+(void)load{ //load 把类加载到内存时调用,只会调用一次,在这里用 runtime 交换方法,能够确保在调用方法...

2018-03-16 15:41:08 184

空空如也

空空如也

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

TA关注的人

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