自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (2)
  • 收藏
  • 关注

原创 初探iOS项目使用MVP模式

1:说明,项目文件分为3种,model,view,presenter。分别是数据,视图和控制层。model全部继承于BaseRecord,view包括控制器viewcontroller和view。继承于BaseViewController和BaseView,presenter继承于BasePresenter.这里命名习惯的关系,所有的model类项目里均命名为record后缀。2:之前的MVC中控制器内既展示页面也负责网络数据请求和处理,各种异常状态的判断,页面更新等等,逻辑较多,结构较乱,本demo将

2020-07-16 09:09:51 780

原创 UIScrollView与地图页面嵌套效果的实现。

经常使用美团或饿了的朋友都会在订单页看到一个效果,上面是个地图,下面是订单的详情。向上滑动的时候地图被覆盖掉,滑下来地图出现,而且滑动地图时只有地图的mapview在动。这种效果怎么实现呢?今天来做一下这个demo。先放效果图,两种实现方式,两种效果:1:地图随着scroll的滑动而滑动“gif有点大,CSDN不让传,请点击查看原图链接”2,地图不动。scroll自己滑动“这个gif也有点大,CSDN不让传,请点击查看原图链接”先说下第一种实现,上代码@interf..

2020-07-08 15:36:21 995

原创 iOS自定义UITableViewRowAction

先看效果 :说下思路:首先要实现tableview的代理。共有几个方法:1:-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{ return YES;}-(UITableViewCellEditingStyle)tableView...

2020-03-03 15:18:50 1806 1

转载 CPU的熔断与幽灵漏洞

本文从CPU的视角来讲一下这个大名鼎鼎的漏洞。自我介绍我叫阿Q,是CPU一号车间里的员工,我所在的这个CPU足足有8个核,就有8个车间,干起活来杠杠滴。我所在的一号车间里,除了负责执行指令的我,还有负责取指令的小A,负责分析指令的小胖和负责结果回写的老K。CPU的每个车间都有一堆箱子,人们把这些箱子叫做寄存器,我所在的一号车间也不例外,我们每天的工作就是不断执行指令,然后折腾这些箱子,往里面存东西取东西。由于我们四个人的出色工作,一号车间业绩突出,在年会上还多次获得了最佳CPU核心奖呢。缓存

2020-05-19 14:18:38 3076 6

原创 iOS转向Flutter学习日记

1,flutter的安装和创建这个可以去掘金专栏或flutter中文网 这里不再赘述,附网址:掘金:https://juejin.im/post/5b631d326fb9a04fce524db2#heading-1,flutter中文网:https://flutterchina.club/2,关于开发语言,Dart语言还是挺好学的,光看文档的语法大概也能知道怎么用 如能抽出时间去学Dart...

2019-11-28 16:17:49 655

原创 flutter各个控件的初始化(不断补充中)

各控件的初始化,方法很多,属性也不尽一致,只是自己写例子时候用到并且为了加深印象而写的,方法一一记录如下(发现新的更方便的随时更改):imageView:class InitImageView extends StatefulWidget { @override _InitImageViewState createState() => _InitImageViewS...

2019-11-28 16:12:18 796

转载 GPUimageview编辑视频方向不对

拍摄的时候是竖屏,结果添加水印之后导出是横屏播放了。或者还是竖屏播放但是画面颠倒等等视频方向不对,那该怎么办呢?先确认视频角度:+ (NSUInteger)degressFromVideoFileWithURL:(NSURL *)url { NSUInteger degress = 0; AVAsset *asset = [AVAsset assetWithURL:...

2019-11-21 15:20:29 508

原创 iOS视频合成,消除中间的黑帧

方法只有视频合成,多个视频合成等,至于视频后面加音频那些,各位还是去谷歌吧,话不多说,上代码:- (void)combineVideos{ NSString *firstVideo = _currentMovieURL.path; NSString *secondVideo = [[NSBundle mainBundle] pathForResource:@"trailVid...

2019-11-02 14:10:09 998

原创 iOS中关于NavigationController中preferredStatusBarStyle一直不执行的问题

-、第一种做法(iOS9.0中已经废除,不建议使用)在iOS 7中,我们也可以使用UIApplication的statusBarStyle方法来设置状态栏,不过,首先需要停止使用View controller-based status bar appearance。在project target的Info tab中,插入一个新的key,名字为View controller-based stat...

2019-10-19 16:35:02 417

原创 preferredStatusBarStyle 不执行

UINavgationController中覆写preferredStatusBarStyle方法不执行的问题#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad...

2019-09-30 14:23:29 5109

原创 GPUimage制作视频水印,GIF水印,滤镜效果等

公司项目是录制视频的时候上面加个广告位,可能还是GIF图的格式,网上找了下资料共有两种方案解决这个问题,一个是AVcaturessetion,还有就是GPUimage,分别做了个demo看了下效果,使用AVfoundation的水印添加时的位置不好控制,合成效果也一般,CPU使用率很高,最后决定选用GPUimage这个框架来做。GPUimage:基于OpenGL ES 2.0的开源的图像...

2019-08-31 08:56:07 720

原创 日历简单制作

项目有需要,简单做了一个github地址:https://github.com/littleZhangqq/calaendarTest

2019-06-22 11:18:24 198

原创 iPhone XS Max的tabbar显示混乱解决方法

iPhoneX的适配没问题 但是xs max显示tabbar就混乱,如图:原因就是tabbar高度获取都是49 但是系统给留了34的高度放在最下面不让你用,用来显示你的tabbar的高度就剩下了49-34=15了。所以都挤在一起特别混乱,解决办法就是在xsmax的机型上人为改动tabbar的高度即可。我的baseviewcontroller是basetabbarcontroller...

2019-06-04 11:52:39 993

原创 字典存放对象,使用debugger显示nosummary

将一个自定义模型存数字典内,使用debugger查看的时候显示该字典键对应的值是nosummary 以为是空值,但是打印还能出来地址,原来是被debugger给骗了,这个debugger差点让我误以为字典是不能存入自定义对象的。。。我还上网查了半天资料。。。坑啊...

2019-04-20 14:58:46 1057

原创 UIcollectionView设置item间距

items之间的水平间距,和滚动方向有关系!layout.scrollDirection为垂直方向时,得设置minimumInteritemSpacinglayout.scrollDirection为水平方向时,得设置minimumLineSpacing...

2019-04-20 14:57:42 2335

原创 uitableview 使用reload某个cell或section的时候view会有闪烁的情况。

用下面的可以避免屏幕跳动。[UIView performWithoutAnimation:^{ [_tableView reloadSections:[NSIndexSet indexSetWithIndex:tag] withRowAnimation:UITableViewRowAnimationFade]; }];另外reload的时候如果有多个sec...

2019-04-20 14:56:59 1366

原创 rac 重复调用问题

rac事件在cell的contentview上点击触发事件或UIcontrolevent的时候有时候会执行两次或多次,是因为cell的重用问题。不是说cell重用不对,而是拿到缓存池内的cell上面已经添加了这个rac事件,再次调用的时候会取出这个事件执行,但是cellforview的方法中或许重新调用了一次,所以重用了多次就会执行多次。这个时候就要这么做:[[[cell.btnrac_signa...

2019-04-20 14:56:23 1182

原创 Xcode 10 import 自己的创建的.h文件没有提示

Xcode --> File --> Workspace Settings --> Build System --> Legacy Build System

2019-04-20 14:56:03 564

原创 读《深入理解计算机系统》(一)

从开始iOS程序开发到现在,干的工作也不少了,大体无非就是那几种,画页面,写工具,造轮子,优化APP性能等等的工作,说实话到现在为止也没时间学习底层,好好研究算法这些,心里还是有些不安的。总想着找时间学学新技术加强下水平。最近在读《深入理解计算机系统》这本书,朋友推荐的,豆瓣评分九点几分,相当不错。看了一周,有些收获,记录下来以后回看。 一。计算机是如何运行我们的OC呢?或者说是如...

2018-11-28 10:33:33 332

原创 iOS上将图片转为PDF

最近做项目遇到了这个需求,百度了一下发现还是12年的文章,使用了一下不好用,转为PDF后是空白的,开始Google查文件,现成功实现,效果如下图1.是我本地的viewcontroller上面的一个view。显示一些请求的结果。可以用手势签名,等等巴拉巴拉的一堆下面这个是转的时候然后是打开模拟器的文件夹的PDF文件,看看效果图:图片可能有点大 对付看吧。可...

2018-09-29 20:40:55 7957 2

原创 GitLab: API is not accessible的错误解决

今天push代码的时候报错,如下:git pushGitLab: API is not accessiblefatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.使用push的时候报没权限,去gitlab官网...

2018-06-07 18:15:06 10742

原创 一个简单的计算器,使用swift练习项目,模仿iPhone界面

先看效果:刚刚练习swift,代码比oc精简不少,不过有的地方还是不太习惯,尤其是里面需要判断的地方 无论何时都不能值为空,需要用可选类型,加上?和!,接着努力代码:class ViewController: UIViewController { let calResult = UILabel()//用来显示输入和结果的label,在最上方 var frontNum = Stri...

2018-03-29 18:04:19 2682

原创 UIPikerView 省市区三联滑动,解决滑动崩溃问题

先看效果图:实现这一的效果使用的控件是UIpickerview。使用的时候就会知道其实这个控件跟tableview的使用差不多,都有自己的代理方法,返回个数,返回component的个数类似于tableview的section,然后每个component会有多少个row。实现方法,然后把plist文件存储的省市区这个大字典,转成model,这里我转model用的是mjextension。然后在ti...

2018-03-19 11:13:03 617

原创 简单的富文本使用工具

写项目难免遇到使用富文本处理的时候,比如有的时候用户点击查看软件的某个功能说明,需要着重标注的部分要突出显示,有时候作为提示用语还要加上一个图片起到引导的作用提示用户该做什么或者完善什么等等,这个时候就要用到富文本来处理了。当然,也可以使用coretext来处理也可以,简单的需求一般使用NSAttributedString完全可以应付,使用coretext一般处理比较复杂的场景,还有使用NSAtt

2018-01-18 23:14:45 853

转载 iOS解析json中null终极解决方案

在iOS开发过程中经常需要与服务器进行数据通讯,Json就是一种常用的高效简洁的数据格式。问题现象但是几个项目下来一直遇到一个坑爹的问题,程序在获取某些数据之后莫名崩溃。其实很早就发现了原因:由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据:"somevalue":null通过JsonKit 这个第三方库解析出来的数据就成了somevalu

2018-01-15 14:34:46 442

原创 masonry 使用remake时容易犯的一种错误

remake通常是重新布局使用,比如我用cell展示列表,title放在图片的右边,现在有一种情况,需要title在中间,相对布局变化了可以看到我整个cell,上面是正常情况,下面是查询失败的记录,失败的时候车标图要跑到前面去,其他的隐藏好做就不说了。上面的正常情况,布局时车标图片是以前面的图片为标准,放的位置是最左边的图片使用:[_brandImage mas_makeCon

2018-01-08 16:29:45 2527

转载 iOS-UIStatusBar详细总结

总结:View controller-based status bar appearance在infoplist中将它设置为NO,然后在baseviewcontroller中设置[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault]设置你的样式,如果某个页面需要改变,那就单独在那个control中:

2018-01-05 11:37:59 296

原创 iOS 加载GIF图片

要做一个tableview,cell内全部展示的是GIF。GIF是由多个image组成的,测试过后,得到几种使用方法,介绍一下:1.最省心的,使用sdwebimage,使用imageview sdsetimageWithUrl: placeHolder:这个方法就可以,sd内部做好了缓存处理,上啦下拉tableview的时候cell刷新,也不会卡顿,效果最好。2.使用webview。有两种,一个是w

2018-01-03 17:47:20 1567

原创 解决iOS UITableView reloadData 时闪屏的问题

-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{ return UITableViewAutomaticDimension;}这个方法是给tableview默认加一个预估的cell值,在iOS11以下可以使用这个方法。里面返

2017-12-04 18:55:25 7063

原创 mac查看sshkey

生成sshkey的就不说了,网上全是教程。查看sshkey的方法:打开finder 摁commod+shift+G  搜索文件,输入~/.ssh 是个文件夹,里面有生成的id_rsa_pub,进入终端,输入cat 然后把文件拖入终端路径自己就出来了,简单说就是cat+id_rsa_pub的路径  回车 就是sshkey了或者 ls -a ~/.ssh 列出所有ssh文件夹的内容  id_rsa....

2017-09-26 17:42:00 5250

原创 iOS波纹动画

先看效果图:就这么一个图,先说下思路。首先有一个目标view,为这个view添加动画之前,先要在view边上添加一个layer,因为view的layer可以调用addsublayer方法为该view添加一个图层,所以先创建一个layer。这个layer就是我们要做的动画的操作主体。可以看到,动画效果是由view边界开始,逐步向外扩散,同时渐渐变为透明

2017-09-26 10:29:54 1145

原创 iOS项目本地存储NSUserDefault的改进

通常,一般应用需要保存一定数量的用户信息,记录用户选择的选项,比如保存登录账号密码。在设置页面保存了用户是否开启推送,是否开启推送时震动,播放铃声,有的时候还要对某些数据进行保存,到了别的地方要用。等等诸如此类的情况,一般都是选择比较简单的NSUserDefault来管理。随着项目的体积增加,功能增多,从一开始几个地方使用。到多个地方使用,甚至有几十处,反正就是有需要的时候就拿来用一下,反正A

2017-09-22 14:53:20 1041

原创 ios11,新系统,新bug

1,tableview。在手机改换到iOS11 后,发现tableview的头部视图莫名其妙多了一部分,无论是距离self。view的顶部,还是导航栏的顶部,大概多了不到一百的pt,这个是由于之前没有设置- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{    r

2017-09-22 11:14:27 745

原创 一个问号,点击给一个提示view的实现。

很简单的一个东西,不过为了应付各种情况,比如cell上有问号,点击弹出来,比如这样 又或者需要这样: 这时候需要做一个统一管理的样式,外部负责传入样式,view内部根据样式来定制。比如横竖,比如是否需要竖直列表的方式等。上代码:.h文件:typedef enum: NSUInteger{ AskViewShowTypeVertical = 0,// 水平展示 AskVie

2017-09-20 21:16:47 1475

原创 time(NULL)的用法

C语言time(null)在oc中的用法time_t time1 = time(NULL);//获取系统时间,单位为秒;struct tm * time = localtime(&time1);//转换成tm类型的结构体;struct tm { int tm_sec; /* seconds after the minute - [0,

2017-07-18 15:25:38 65692

原创 UIImagepicker不走代理的解决方法

症状:一个页面弹出一个actionsheet,我在这里的action的block中present到拍照和选相片页面,操作后没走回调方法。无法进行后续步骤原因分析:我在这actionsheet中present的时候,这些代码不是写在viewcontroller中的,整个imagepickercontrol我写到了一个类里,不光本类用其他的也可以用。然后将那个类在action的handle

2017-06-17 17:16:35 1288

原创 UItableview点击后的折叠效果的简单实现

项目有个需求。要求将主要信息列表展示,点击信息的时候,下方弹出来一个具体内容展示变化,差异等等。 之前做过这个,当时是网上找的一篇文章直接复制粘贴的,过了一段时间就给忘了,连思路都没有,今天花了一天时间,自己整理了一下,实现了这个效果,并做了一个优化,下面开始上代码首先说下思路,tableview进入的时候展示的是各个cell的section的headerview,cell默认给一个0的高度,这时

2017-04-14 21:58:45 2542

原创 base64编码的理解

最近学Python的时候遇到了编码问题,顺带了解了一下base64编码,首先阅读了咱CSDN上的一篇文章Base64编码原理,有所感悟,记录下来以备日后查看首先,base64编码是用64个字符来表示任意二进制的数据的方法,有时候我们用记事本打开.pdf,.exe, .png的后缀名的文件时打开是一堆乱码。实际上这些二进制文件里面包含了许多无法打印的字符,如果我们让记事本能处理打开这些文件,就需

2017-02-16 17:53:43 518

转载 iOS 页面性能优化

前言在软件开发领域里经常能听到这样一句话,“过早的优化是万恶之源”,不要过早优化或者过度优化。我认为在编码过程中时刻注意性能影响是有必要的,但凡事都有个度,不能为了性能耽误了开发进度。在时间紧急的情况下我们往往采用“quick and dirty”的方案来快速出成果,后面再迭代优化,即所谓的敏捷开发。与之相对应的是传统软件开发中的瀑布流开发流程。卡顿产生的原因在 iOS 系

2017-02-16 11:24:33 323

翻译 关于__IPHONE_OS_VERSION_MAX_ALLOWED和__IPHONE_OS_VERSION_MIN_ALLOWED的用法

简单来说, 这些编译期常量, 对运行时的环境判断完全无效, 它告诉编译器用哪一段代码来进行编译, 那那段代码里, 你仍然可以写运行到目标机器里会崩溃的代码, 从stackoverflow里拷两段示例代码出来:片段1, max:#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000 //you can use iOS 5 APIs her

2017-02-09 10:33:43 1596

iOS各类面试题总结.zip

含字节跳动,美团,腾讯百度等大厂面试题,iOS基础,算法,多线程,Runloop,GCD,动画,数据结构,性能,UI等等20多套PDF,物超所值,升职加薪就靠它了!!!

2020-07-08

iOS设备通讯录获取,及其他小功能

真机运行,会打印出设备的通讯录,没做表格来显示,所以模拟器运行没效果,还有其他的附加功能如调用系统电话,发短信,浏览器等等。还做了一个for循环实现button排列的简单测试和代理实现页面传值等功能

2015-11-05

空空如也

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

TA关注的人

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