- 博客(24)
- 资源 (26)
- 收藏
- 关注
原创 iOS 网络请求优化之取消请求
页面返回的时候,将网络请求取消同一个请求多次请求时,短时间忽略相同的请求同一个请求多次请求时,取消之前发出的请求发送的请求,多次尝试并确保成功最近发现很多网络请求都有可以优化的地方,虽然开发和测试都没有发现问题,但是可以让代码更加的优雅。想到了有四个方面可以优化,亲测有效。1. 页面返回的时候取消网络请求在一个界面进行多个请求的时候,而有可能用户马上点击了返回按钮,那么如果是...
2018-09-30 10:06:42 2658
原创 iOS 谈一谈自适应Cell的高度缓存
系统如何计算的自适应高度?系统计算的行高会不会被缓存?如何缓存?前几天读文档的时候发现一对方法- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize NS_AVAILABLE_IOS(6_0); - (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize withHoriz...
2018-09-28 17:46:43 932
原创 iOS 性能优化篇
苦逼周末加班,无心干活,写一篇文章打发时间。先来谈谈CPU和GPU在屏幕成像的过程中,CPU和GPU起着至关重要的作用CPU( Central Processing Unit, 中央处理器)就是机器的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。CPU的结构主要包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Cont...
2018-09-16 14:22:22 507
原创 iOS 性能优化之页面加载速率
前言之前搜罗了网上很多关于iOS性能优化方面的资料 ,本人和我的小伙伴们也用了一些时间针对自己的App进行了App的启动速率、页面的加载速率和 页面的帧率方面进行了优化,所以结合了理论和实践,把我们在实践中主要踩过的坑和需要注意的东西 ,总结了一下,希望可以帮到正在准备进行App的性能优化的你。今天主要讲一下App的页面加载速率的优化。目的为了找到真正使我们的App缓慢的原因,我们...
2018-09-14 15:42:22 2419
原创 iOS 代码瘦身实践(二)
一、分析当前ipa的组成一般一个ipa会包含:1. 资源文件本地文件:数据、配置、数据库等等字体文件图片资源2. 源代码通过生成linkmap文件,分析源代码生成的编译文件的大小。在Build Settings中Write Link Map File设置为Yes (记住release时候不要设置为Yes)。编译之后会在build目录中生成两个LinkMap文件:...
2018-09-04 09:22:52 368
原创 iOS WKWebView 拦截超链接
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{ // 1.拦截请求...
2018-09-30 14:44:10 6743
原创 iOS UITextField的光标起始位置改变实现
UITextField作为输入框,在很多场景都会使用,一般我们都是对齐默认的布局做一些更改,常用的可能会修改光标的颜色,placeholder的颜色,字体等等,有些修改直接设置UITextField的属性就可以,有些则没有,需要重写它提供的一些方法才可以,有些则怎么都办不到,例如修改光标的宽度,如果哪位知道,请告诉我下,谢谢。一、 修改光标的位置修改光标的位置也就是修改可编辑区域的位置,默认属...
2018-09-30 09:38:35 3849
原创 iOS 适配iPhone XR/iPhone XS Max
快速适配先说结论,找设计师要2张启动图:iPhone XR:828px x 1792pxiPhone XS Max: 1242px x 2688px代码中使用了屏幕size判断是否是iPhone X的需要修改,请翻到最后。LaunchImage中只有iPhone X/iPhone XSXCode GM Bug?项目中使用LaunchImage来做启动图,那么有可能在XCode GM...
2018-09-29 16:45:23 1292
原创 Flutter 混合工程改造实践
背景由于原有的 iOS 和 Android 工程都已相当庞大,如何将 Flutter 无缝桥接到这些大工程并保证开发效率不受影响成为优先要解决的问题。本文针对项目实践人员给出了一种通用的工程改造方案,希望为准备转型 Flutter 的团队提供参考。问题Flutter 的工程结构比较特殊,由 Flutter 目录再分别包含 Native 工程的目录(即 iOS 和 Android 两个目...
2018-09-28 16:19:40 445
原创 iOS 弹窗大全
在我们的实际开发项目中,弹窗是必不可少的,很多时候我们用的是系统的AlertViewController,但是实际情况中,并不能满足我们的开发需求,这个时候我们需要的就是自定义自己的弹窗效果。接下来我会写一些自己的所封装的弹窗效果。包括代理delegate回调,block 回调,xib新建view来创建我们需要的弹窗效果。官方思路1.在我们自己动手之前一定要先看看官方是怎么封装的,这样我们写出...
2018-09-28 09:35:26 2023
转载 GitHub 的中国乱象:刷星、高仿、骂街和版聊
今天,我们关注一下人称全球最大程序员交友社区的 GitHub。这两天有朋友问我:你有关注前端圈最近的娱乐大新闻吗?然后扔给我一个网站,名叫前端娱乐圈:点进去看了下,是另一个程序员社区“掘金”的页面。ID 名为“花裤衩”的用户放了一张截图:虽然硅星人自己不是程序员,倒也还是对 GitHub 稍有了解的。这个 Trending 是统计项目每日增加的星数 (Star) 得来的,而在 GitH...
2018-09-28 08:55:49 2801 2
转载 iPhone 检测 iPhone X 设备的几种方式和分辨率终极指南
本文是我们前两天发的两条小集的汇总,主要包括三部分:iPhone 屏幕分辨率总结如何适配新的 iPhone X 设备检测设备是否为 iPhone X/XS/XR 的几种方式iPhone 屏幕分辨率终极指南上周,苹果发布了三款新的 iPhone 设备,它们的屏幕数据分别如下:iPhone XS: 5.8 英寸,375pt * 812pt (@3x);iPhone XR: 6.1...
2018-09-21 08:50:00 6524
原创 iOS 开发者应该掌握些 C++ 知识
作为一名 iOS 开发者,最近由于开发音频播放器需要一些 C++ 的知识,便开始学习 C++ 知识。这里分享给有需要的同学,如果写的有不妥的地方,还望指出。后续会利用学到的 C++ 知识对 FreeStreamer 这个音频播放器写一篇分析其实现原理的文章。本文主要围绕 FreeStreamer 这个库用到的 C++ 语法来讲解。iOS 开发当中,偶尔会使用到 C++ 的知识,然而大多数同学每遇...
2018-09-20 09:37:37 489
原创 iOS 妈妈再也不用担心我的数组越界了!!!
作为一名 iOS 开发者,最近由于开发音频播放器需要一些 C++ 的知识,便开始学习 C++ 知识。这里分享给有需要的同学,如果写的有不妥的地方,还望指出。本文主要围绕 FreeStreamer 这个库用到的 C++ 语法来讲解。iOS 开发当中,偶尔会使用到 C++ 的知识,然而大多数同学每遇到这个问题时,选择逃避。如果从头开始学习 C++ 语法,会花费很多时间,如同笔者一样,花费很多时间了解...
2018-09-18 17:34:03 523
原创 Xcode10 运行libstdc++报错处理方案
Xcode10 运行现有项目报错最多的应该就是如图:这个错误原因是因为iOS12.0中去掉了lstdc++.6.0.9.tbd动态库,如下图搜索便知:#iOS12.0中全部采用libc++代替lstdc++的动态库(如下图),具体原因可以参考:http://www.cnblogs.com/wellbye/archive/2013/04/25/3039203.html因为beta版本X...
2018-09-18 11:04:46 7588
原创 Xcode10 编译原有项目问题及解决方案
Xcode10 编译竟然报infoplist的问题问题:Showing Recent Messages: -1: Multiple commands produce ‘/Users/gavin/Library/Developer/Xcode/DerivedData/talk-glxnnbklscdqzwgtdtyodcfzxvwb/Build/Products/Debug-iphoneos...
2018-09-18 10:17:34 2633
原创 iOS 合并两张图片(叠加两张图片 重合两张图片)
最近产品给了一个奇葩的需求,需要把一个活动海报和用户生成的二维码合成一张图片,分享出去,效果如下:创建一个 UIImageView (黑斜体是关键一行代码) UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 375, 667)]; imgView.image = [sel...
2018-09-11 17:53:41 8563
原创 iOS OC与JS的交互(WKWebview-MessageHandler实现)
在开发过程中,iOS 中实现加载 web 页面主要有两种控件,UIWebView 和 WKWebview,两种控件对应具体的实现方法不同。WKWebView是苹果公司在iOS8系统推出的,这里我们主要概述WebKit中更新的WKWebView控件的新特性与使用方法。一、 WKWebView的代理方法1.WKNavigationDelegate该代理提供的方法,可以用来追踪加载过...
2018-09-11 14:54:24 4323
原创 iOS 教你如何使用代码块Block
概述代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量、作为参数、作为返回值,特殊地,Block还可以保存一段代码,在需要的时候调用,目前Block已经广泛应用于iOS开发中,常用于GCD、动画、排序及各类回调注: Block的声明与赋值只是保存了一段代码段,必须调用才能执行内部代码Block...
2018-09-10 16:25:05 1257
原创 iOS 教你如何使用iconfont图标
1.什么是iconfonticonFont拆开来看,就是 Icon + Font,这样估计大家应该都能理解是什么,那两者结合是什么呢?没错!就是 IconFont !让开发者像使用字体一样使用图标。如果自己不会做的话,可以直接去阿里的iconfont图标库下载自己需要的图标。2.为什么要使用iconfont在开发项目时,不可避免的会用到各种图标,为了适配不同的设备,通常需要@2x和...
2018-09-08 17:12:02 689
转载 iOS Crash崩溃异常教你查看和分析
要学会看crash崩溃和报告一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在应用程序中接入了一些第三方的crash收集工具或者自建crash收集报告平台的话将会很好的帮助开发者去分析和解决应用程序在线上运行的问题,当出现的崩溃问题能得到及时的解决和快速的修复时必将会大大的提升应用程序的用户体验。当前比较流行的crash收集分析工具很多都是基于开源的KSCrash...
2018-09-06 09:44:09 12375
转载 程序员生存图鉴:接私活、创业、自由职业,哪种才是理想工作?
前阵子有个叫「隐形贫困人口」的词很火,指的是那些看上去生活滋润,实际上并不富裕的人。而与之相反的恐怕就是「隐形富裕人口」了。在众多职业中,收入水平高于市场上大部分职业,却并不爱炫富的程序员无疑是「隐形富裕人口」的典型代表。但与此同时,程序员也是最容易在中年之前就开始焦虑的职业之一。「程序员吃的是青春饭」,「30 岁还没做到中层就会被企业淘汰」,「30 岁年薪还没 40w 就该考虑转行」……...
2018-09-05 17:11:14 749 1
原创 iOS WKWebView的使用
WKWebView是苹果在iOS 8之后推出的框架WebKit中的浏览器控件, 其加载速度比UIWebView快了许多, 但内存占用率却下降很多, 也解决了加载网页时的内存泄露问题。现在的项目大多数只需适配到iOS 8, 所以用WKWebView来替换项目中的UIWebView是很有必要的.WKWebView的使用主要涉及下面几个类: WKWebView WKWebViewC...
2018-09-05 16:56:45 384
原创 iOS 动态修改App图标(icon)
动态修改app的图标,就是在不重新安装app的情况下,可以修改当前的icon图标;在某些情况下,是有这个需求的;例如,可以更换主题的app中,一般都会有一套完整的主题包含相应的icon;还有就是一些节日主题的icon或者促销的icon,例如淘宝、京东等的节日icon。在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,主要是下面这几个方法:@interface UIAppli...
2018-09-04 08:55:12 854
动手搭建一个简单的区块链
2018-11-19
OC与JS的交互(WKWebview-MessageHandler实现)
2018-11-16
一个UICollectionView轻松搞定顶部悬停效果、顶部悬停效果、collectionView达到悬停效果
2018-11-16
3D卡片轮播,卡片轮播,无限轮播,DIY
2018-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人