自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 iOS查找UIWebView

import osimport subprocessdef main(): for path, dir_list, file_list in os.walk('./'): for file_name in file_list: # 略过 .DS_Store 文件 if file_name.find('.DS_Store') != -1: continue # 略过 .

2021-08-03 14:38:07 385

原创 wkwebview加载视频横屏播放,状态栏不见了。

//添加监听 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(setNeedsStatusBarAppearanceUpdate) name:UIWindowDidBecomeHiddenNotification object:nil];重写状态栏隐藏方法- (BOOL)p...

2019-12-23 21:58:07 613

原创 解决iOS UITableView上拉加载更多刷新跳动,自动计算行高 UITableViewAutomaticDimension

1、正常情况下我们只要设置这三个刷新为零就可以了 _tableView.estimatedRowHeight = 0; _tableView.estimatedSectionFooterHeight = 0; _tableView.estimatedSectionHeaderHeight = 0;2、如果和我一样使用的是自动计算行高,那么...

2019-12-11 11:13:41 1024

原创 iOS13适配-----推送

因为之前很少有文章说ios13适配需要适配推送,上线后发现ios13以上版本的手机收不到推送。超级尴尬,后来找资料才知道原来推送Device Token格式改变了。- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceTo...

2019-11-12 10:40:23 546

原创 iOS13 tabbar黑线、背景色、 badgeColor适配

@implementation UITabBarItem (badgeColor)- (void)my_setBadgeValue:(NSString *)badgeValue { [self setBadgeValue:badgeValue]; UIColor *badgeColor = UIColorFromRGB(0x39E2C6); if (@availa...

2019-10-21 10:41:20 1127

原创 UITableView自动布局(UITableViewAutomaticDimension),调用reloadData方法时cell跳动。

1,下拉加载更多时,tableview跳动。可能原因就是预估行高太小,把预估行高设置为一个很大的值就可以了tableView.estimatedRowHeight = 2*KScreenHeight;我这里设置的时两个屏幕的高度2,场景:如果cell需要动态刷新,即显示的时候才能拿到正确的数据,更新布局。问题:tableview正在滚动,调用刷新方法reloadRowsAtIndexPath...

2019-09-18 16:08:28 1380

原创 ios 集成友盟 SGMain.framework 和 SecurityEnvSDK.framework冲突

全局搜 SecurityEnvSDK Pods-UKiss.debug.xcconfig 、Pods-UKiss.release.xcconfig两个文件中的“SecurityEnvSDK-framework”全部删除 ok!

2019-03-22 17:53:30 1242

转载 iOSer面试中的个人竞争力

前言 最近因为个人原因换了份工作,离开了呆了5年的百度,应邀写一篇关于iOSer找工作面试相关的文章。我回顾了一下从毕业到现在的工作经历,我发现我几乎没怎么面试与找工作过,基本上就一直在百度一呆就是5年。真要说在找工作/面试技巧/Offer选择上我有啥经验,可能值得介绍与分享的非常少,就连这次换工作,我也基本上是面了一家就定下来了。 不过我觉得面试技巧也好/找到理想的工作也好,其实...

2018-10-16 11:15:30 322 1

翻译 KVO访问集合属性

使用集合运算符当您向valueForKeyPath:消息发送符合键值编码的对象时,可以在关键路径中嵌入集合运算符。集合运算符是一个小的关键字列表之一,前面是一个at符号(@),它指定了getter应该执行的操作,以便在返回之前以某种方式操作数据。valueForKeyPath:通过NSObject实现此行为提供的默认实现。当密钥路径包含集合运算符时,运算符之前的密钥路径的任何部分(称为左键...

2018-09-10 11:47:08 307

转载 iOS底层原理总结 - 探寻Class的本质

对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。上接 iOS底层原理总结 - 探寻OC对象的本质Class的本质我们知道不管是类对象还是元类对象,类型都是Class,class和mete-class的底层都是objc_class结构体的指针,内存中就是结构体,本章来探寻Class的本质。Class objectClass = [NSObject class];...

2018-06-14 14:41:48 397

转载 iOS底层原理总结 - 探寻OC对象的本质

iOS底层原理总结 - 探寻OC对象的本质对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。面试题:一个NSObject对象占用多少内存?探寻OC对象的本质,我们平时编写的Objective-C代码,底层实现其实都是C\C++代码。OC代码的转化过程OC的对象结构都是通过基础C\C++的结构体实现的。我们通过创建OC文件及对象,并将OC文件转化为C++文件来探寻...

2018-06-14 11:16:11 585

转载 iOS 代码规范

前 言需求是暂时的,只有变化才是永恒的,面向变化编程,而不是面向需求编程。不要过分追求技巧,降低程序的可读性。简洁的代码可以让bug无处藏身。要写出明显没有bug的代码,而不是没有明显bug的代码。先把眼前的问题解决掉,解决好,再考虑将来的扩展问题。一、命名规范1、统一要求含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释,使用全称,不使用缩写。2、类名大驼峰式命名:每个单词的首字母都...

2018-06-08 15:14:11 193

转载 iOS程序员应该掌握哪些技能

 Objective-CObjective-C语言基础library,framework的制作Runtime 编程LLVM 原理和调优  操作系统iOS内存管理和调优iOS的文件系统和沙盒机制iOS多线程编程(Thread,GCD,NSOperation)iOS网络和服务器编程(NSURLConnection,NSURLSession)iOS系统的各种安全机制  网络编程iOS网络发送机制调整和优...

2018-04-08 17:17:04 883

转载 基于 AVPlayer 自定义播放器

如果我只是简单的播放一个视频,而不需要考虑播放器的界面。iOS9.0 之前使用 MPMoviePlayerController, 或者内部自带一个 view 的 MPMoviePlayerViewController. iOS9.0 之后,可以使用 AVPictureInPictureController, AVPlayerViewController, 或者 WKWebView。以上系统提供的播...

2018-03-22 09:37:02 714

转载 详解Objective-C多项改进

iOS开发生涯的初恋:详解Objective-C多项改进当众人的目光聚焦在WWDC 2015新推出的Swift 2和iOS 9上时,我的思绪却飘回到办公室书架上。多年前,初入iOS开发时买的Objective-C指导书直至今日还静静地躺在那里,求知若渴地翻动着书页的场景历历在目,心中所想的不是Objective-C的优点,却是它的局限——如今这位老友旧貌换新颜,以往的“局限”不复存在。2015年O...

2018-03-15 10:19:07 1034

原创 ios 滑动冲突解决

其实在ios系统中是不建议使用两个同方向的滚动控件的。我在处理这个需求时其实是分阶段的。前期,我看到了淘宝商品详情页,所以仿写处理方式是仿造淘宝的商品详情页,上下分页,所以就不会影响各自的滑动。内部代码处理主要就是kvo监听tableview的contentSize.后期,我看到了简书个人中心页面,所以项目中有这方面需求时我就仿照简书的写了一遍。其实简书的实现原理很简单,其实在竖直方向只有一个可以...

2018-03-14 09:50:52 1026

转载 缓存淘汰算法-LRU

缓存淘汰算法--LRU算法(本文转自:http://flychao88.iteye.com/blog/1977653)博客分类: java基础 1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.

2018-01-17 11:35:12 202

原创 AES加密128bit、CBC模式

给NSData添加一个分类,.h文件.m文件

2017-12-25 16:27:01 1449

转载 ios启动性能优化

导语本文介绍了如何优化iOS App的启动性能。本文分为四个部分:第一部分科普了一些和App启动性能相关的前置知识第二部分主要讲如何定制启动性能的优化目标第三部分通过在WiFi管家这个具体项目的优化过程,分享一些有用的经验第四部分是关键点的总结。【第一部分】一些小科普因为篇幅的限制,没有办法很详尽的说明一些原理性的东西,只是方便大家了解哪些事情可能跟启动性能

2017-10-17 15:04:21 348

原创 图片选择器原理

最近项目中有个图片选择器的功能,所以就特意的去研究了下。其实原理很简单。ALAssetsLibrary: 图片资源类通过这个类能获取到所有图片相关资源,比如图片、图片大小等等相关信息。所以明白这一点后我们需要做的就是自定义了,和普通的界面搭建一样,展示,选择等相关逻辑。

2017-09-14 17:16:47 245

转载 xcode模拟器调试输入密码问题

刚买的电脑,安装xcode后,每次运行模拟器都会出现让输入管理员密码的问题,上网搜了很多解决办法,最后整理了一下:1、打开终端2、输入DevToolsSecurity --status上面的指令时查看开发者状态的,如果是Developer mode is currently disabled.那就对了3、输入DevToolsSecurity --enable此时会弹出密

2017-08-16 10:05:47 309

转载 iOS安全–使用static inline方式编译函数,防反编译

赠书 | AI专栏(AI圣经!《深度学习》中文版)    每周荐书:分布式、深度学习算法、iOS(评论送书)    【获奖公布】征文 | 你会为 AI 转型么?iOS安全–使用static inline方式编译函数,防止静态分析标签: static inline 2015-12-21 17:43 462人阅读 评论(0)收藏举报

2017-08-14 11:15:39 493

原创 简化版的三木运算符含义

a + b > 0 ?: 2  相当于 a + b > 0 ?  a +b >0 : 2 省略的是表达式:a + b > 0

2017-07-13 18:07:36 338

原创 欢迎使用CSDN-markdown编辑器

KVC—–valueForKeyPath  被你忽视的用法普通ios开发者都懂的: NSArray *array = @[@1, @2, @3, @4, @10]; NSNumber *sum = [array valueForKeyPath:@"@sum.self"]; NSNumber *avg = [array valueForKeyPath:@"@avg.self"

2017-06-27 10:39:56 139

原创 iOS Type Encodings

使用runtime动态给一个对象添加方法的时候我们会发现有个参数不是很理解 :那就是第四个 Type Encodings  class_addMethod([self class],sel, (IMP)eat,"v@:");后来查文档才知道是方法的 返回值、参数 类型 可如果仅仅这么理解那么就不全面。通过Clang生成的C++代码查看得知,底

2017-04-20 10:04:57 391

原创 runLoop理解

runLoop个人理解:1.runloop其内部就是一个do while循环,不断的处理各种任务(source、timer、observer)2.runLoop和线程是一一对应的。3.除主线程的runloop会自动运行外,子线程的runloop是不会自动开启的。4.一组 source、timer、observer称为model,runloop中可以有很多model ,如果runlo

2017-03-08 09:39:43 292

原创 iOS ---- 混合模式(引导页)

最近项目有个需求,做引导提示页,刚开始拿到手,感觉不知道从哪里下手,后来找了些资料。终于明白了,用混合模式可以实现效果。各位看看我的需求和这三句代码应该就懂了。(还是不懂的可以@我)     //设置特殊区域显示颜色        CGContextSetFillColorWithColor( context, [UIColorclearColor].CGColor);    //

2016-12-22 20:46:27 539

原创 xcode 统计代码总行数

打开终端,用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来:find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l

2016-12-16 11:07:49 262

原创 UIScollView的滚动条总是显示

将UIScrollView的滚动条一直显示。查了一下UIScrollView的方法和属性,发现没有相应的方法,只有一个flashScrollIndicators相对靠谱点,但是他只会显现滚动条一小段时间,然后会自动消失。我总不能起一个定时器,一直在刷这个方法吧。在stackoverflow上搜索了一下,最后的解决方案指向这个页面。贴出源代码如下:  1. #define n

2016-12-06 12:01:42 418

原创 使用 containsString 遇到的问题

[_shareUrlcontainsString:mobile];使用这句代码时mobile不能为空(nil)如果mobile为空 程序也不崩,照样运行,同一个方法里面 这句代码的后面的代码将不执行。希望大家自己注意下,真的很坑。

2016-12-05 14:06:18 925

原创 UIScollView容易被忽视的属性

self.scollView.alwaysBounceVertical = YES;//系统默认是NO self.scollView.alwaysBounceHorizontal = YES;//系统默认是NO上面两个属性只有当bounces设置为YES的时候 才能有效 self.scollView.bounces=YES;一般情况下 只有当内容大于scroll

2016-12-05 10:17:50 640

原创 iOS 文本添加点击事件

开发中经常有需求是为文本添加点击事件。目前我接触到的有两种:1.使用textView 富文本  NSLinkAttributeName  添加链接  然后再代理方法判断链接是那个然后进行相应的处理就好了。- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange

2016-11-18 16:28:33 1431

原创 iOS 富文本属性解释

NSFontAttributeName://(字体) NSBackgroundColorAttributeName://(字体背景色) NSForegroundColorAttributeName://(字体颜色) NSParagraphStyleAttributeName://(段落)  NSLigatureAttributeName://(连字符)  NSKernAttri

2016-11-18 09:51:46 258

原创 iOS 文本处理 ----- 两行文本后面添加 ... 查看更多

* 业务需求是是这样的,需要我们在一段文本后面添加 展开 展开后文本是多少就显示多少。顶顶顶顶顶顶顶顶顶顶的大多数是是是是谁谁谁水水水水是是是是是...查看更多顶顶顶顶顶顶顶顶顶顶的大多数是是是是顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶谁谁谁水水水水是是是是是是是是是是撒大多数是山东省撒打算打算打算打算的收水电费第三方第三方说的发送到发送到范水电费第三方士大夫士大夫。实现思

2016-11-16 14:06:24 2850

原创 iOS性能调试

//模拟器 性能调试(选中模拟器时:点击 Debug标签 )模拟器经常使用的三个调试方式1.color blended layers 混合模式(户界面被红色和绿色覆盖)红色代表性能不好,如果在表格中会影响滚动速度(UILabel性能不好,全是一片红)2.color offscreen-rendered  :离屏渲染  (该选项为离屏渲染内容添加一个黄色的叠加层)

2016-11-15 10:38:19 215

原创 iOS 主队列异步函数使用

一般情况下,我们ios开发者都知道,在viewDidLoad 方法中xib(或storyboard)中界面布局还没完成,也就是说在这个方法里面拿不到self.view.frame值,所以很多情况下,我们在viewDidAppear 或者 viewDidLayoutSubviews中操作。其实我们完全可以在viewDidLoad方法写 异步函数、主队列加载    disp

2016-11-14 15:26:44 771

原创 Ios 开发网络模拟

在移动开发中,测试网络环境这是个经常遇到的问题。在模拟器上有个测试网络环境的软件:该工具的Apple官方地址:https://developer.apple.com/downloads/index.action?q=Network%20Link%20Conditioner#   相关操作和真机差不多真机设置中有个  开发者  ----> status ----> 就会有以下几种选择

2016-11-14 15:04:38 327

原创 CAShapeLayer

使用CAShapeLayer绘制进度条,可以使用极大的提高cpu的效率,因为CAShapeLayer 直接与gpu打交道  而不走cpu  所以可以节省内存。CAShapeLayer

2016-08-16 17:19:45 180

原创 ios异常机制

//异常抛出1NSException *exception = [NSException exceptionWithName:@"牛逼的错误" reason:@"没有设置frame值" userInfo:nil]; @throw exception;//抛出异常//直接抛出异常[NSException raise:@"牛逼的错误" format:@"

2016-08-04 14:57:33 214

原创 随机数的最大值

(方法)arc4random()随机数的最大值是 0x100000000(4294967296)

2016-08-04 10:54:54 981

空空如也

空空如也

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

TA关注的人

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