自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

H.A.N的博客

Objective-C、Swift、热更新、APICloud跨平台开发、Flutter学习实践指南、性能优化实践指南

  • 博客(21)
  • 资源 (26)
  • 收藏
  • 关注

原创 iOS 所有线程 Autorelease 对象的内存管理

最近面试,然后不管是应届生还是工作两三年的高级工程师都对下面这几个问题比较懵逼,可能是开发中用到的不多,在这里浅浅的讨论下:Autoreleasepool 与 Runloop 的关系ARC 下什么样的对象由 Autoreleasepool 管理子线程默认不会开启 Runloop,那出现 Autorelease 对象如何处理?不手动处理会内存泄漏吗?针对第一个问题,比较容易理解,可以看一...

2018-10-11 08:36:50 1006

原创 1024程序员节,向改变世界的程序员致敬

提起“1024”,很多朋友会不以为然的认为这不就是二进制计数的基本计量单位之一么。但其实,10月24日是属于程序员们的共同节日,以节日向改变世界、固执地坚持对于知识、技术和创新不断追求的程序员们表示致敬。提起程序员的生活,“月入五万的西二旗人教你如何活得像月薪五千”刷爆朋友圈。在大家吐槽程序员穿着格子衬衫,脚踩趿拉板、吃驴肉火烧的同时,其实是一面艳羡程序员的高收入,一面对程序员低调质朴的生活态...

2018-10-24 16:43:53 510

转载 价格操控:大数据“杀熟”和算法合谋

投中网(https://www.chinaventure.com.cn) 编者按:“杀熟”的渊源可以追溯到5年前开始兴起的“千人千面”。原文地址2017年12月,一名中国网友在微博上讲述了自己遭遇大数据“宰客”的经历。他经常通过某旅行网站预订某酒店的房间,价格常年为380~400元。偶然一次,酒店前台告诉他淡季价格为300元上下。他用朋友的账号查询后发现,果然是300元,但用自己的账号去查,还是...

2018-10-23 08:41:32 5318

原创 iOS 友盟集成说明之分享到第三方平台

分享到第三方平台1. 第三方平台支持的分享类型总览2. 分享文本- (void)shareTextToPlatformType:(UMSocialPlatformType)platformType{ //创建分享消息对象 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject...

2018-10-18 09:16:47 811

原创 iOS 图片推送的一些开发小Tips

新版本产品大大要求增加图文推送的功能。由于项目中已经集成了推送功能,故本篇只讲一下接入图片推送的相关Tips。新建NotificationService、NotificationContent的流程NotificationService的作用下载图片/音频/视频文件(注意:下载时间只有30秒、超时通过serviceExtensionTimeWillExpire方法进行迅速处理)。...

2018-10-17 08:24:16 1244

原创 iOS TabBar中间凸起实践

先看下效果:简单的说下大致结构和思路吧tabbar的话也是遵循主流,自定义一个继承自系统UITabbar的HQTabbar,然后用KVC和系统的进行替换中间的凸起按钮和tabbar内部的子控件不是同一类型,是一个UIButton而已,根据tabbar内部子控件的类型去调整内部子控件的位置,从而腾出一个中间位置给凸起按钮给tabbar弄一个代理,添加一个点击中间凸起按钮的代理方法,让HQTa...

2018-10-16 14:56:36 4078

原创 iOS 几句代码实现导航栏透明渐变

首先我们来看下效果:下面有几种方案:1.设置渐变图片根据上面设置为透明的方法,我们最直接能想到的还是setBackgroundImage,根据滑动距离去设置图片的alpha。是的,我们是去设置图片,而不是设置UIView,这样的话就需要你不停的去生成新图片赋给BackgroundImage,这样感觉是不是会不太好?2.运行时动态绑定我们可以在运行时动态绑定他的背景视图,然后设置他的背景...

2018-10-16 14:48:30 5030

原创 iOS 官方 Swift API 设计规范

官方地址:API design guidelines核心原则最重要的目标:每个元素都能够准确清晰的表达出它的含义。做出 API 设计、声明后要检查在上下文中是否足够清晰明白。清晰比简洁重要。虽然 swift 代码可以被写得很简短,但是让代码尽量少不是 swift的目标。简洁的代码来源于安全、强大的类型系统和其他一些语言特性减少了不必要的模板代码。而不是主观上写出最少的代码。为每一个声明...

2018-10-15 10:00:29 504

原创 iOS 导航栏的正确隐藏方式

效果简介在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的,如何做了,这里给出三种方法.第一种做法注意这里一定要用动画的方式隐藏导航栏,这样在使用滑动返回手势的时候效果最好,和上面动图一致.这样做有一个缺点就是在切换tabBar的时候有一个导航栏向上...

2018-10-15 08:52:11 2875

原创 走心的 JS-Native 交互电子书

JS-Native 交互专题终于可以与大家见面了,这个专题旨在能够帮助更多的同学掌握 Hybrid 在 iOS 中的应用。整个专题总共分为四章:第一章 主要介绍 JS 语法,为后续的章节做好铺垫,不过建议读者系统地学习一下 JS,对整个专题的理解有很大的帮助;第二章 介绍了 JavaScriptCore 这个框架与 OC 间的通信;第三章 介绍了 WKWebView,以及一些调试技巧;第四...

2018-10-12 16:57:10 278

翻译 iOS 最佳实践:重构AppDelegate

引言可能很多读者可能都有这样的经历,迭代维护多年的系统代码量激增,有些模块的代码自己都觉得丑陋,可是却不敢重构,生怕一不小心被拉取祭天,然后来了个愣头青实习生正好参与这个模块迭代,一顿骚操作后这个模块炸了,那么面对屎山一样焦灼耦合的代码,面对产品汪随着手机壳颜色变化APP主题这种变态需求的时候,如何不在这坨屎山里修修补补,如何重构屎山,让你的代码成为金字塔一样的艺术品?老峰最近读了V8tr写的...

2018-10-12 08:40:09 434

原创 iOS willMoveToParentViewController和didMoveToParentViewController使用

iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewController方法。在iOS 5.0以前,我们在一个UIViewController中这样组织相关的UIView在以前,一个UIViewController的View可能有很多小的子view。这些子view很多时候被盖在最后,我们在最...

2018-10-12 08:21:53 1362

原创 iOS 禁止侧滑返回上个页面

1.首先把顶部左侧返回按钮隐藏掉//隐藏返回按钮self.navigationItem.hidesBackButton = YES;2.再禁止页面左侧侧滑//禁止页面左侧滑动返回,注意,如果仅仅需要禁止此单个页面返回,还需要在viewWillDisapper下开放侧滑权限// 禁用返回手势if ([self.navigationController respondsToSelecto...

2018-10-11 10:20:00 4390

原创 iOS 开发之排序按钮

前言排序按钮是实际开发中比较常见的一种控件,最近我也遇到了,今天简单分享下。虽然功能简单,但是保证你看了不亏,尤其是对UI这块比较薄弱的同学来说。OK,先看图:简单描述一下:按钮一共有三种状态:非选中、选中升序、选中降序。按钮的三种状态点击按钮时有两种情况:按钮原本处于非选中状态,点击,切换到选中状态,其状态变为升序。按钮原本就处于选中状态,再点击一下,则切换其排序状态...

2018-10-10 11:02:24 1264

原创 iOS MJExtension框架解决模型中存在系统的关键字或方法名

在实际开发过程中,我们时常会遇到接受到的模型数据中存在一个字段为id的键,然而,我们在设计模型时又不能使用id为属性变量。这时,我们就不能用KVC方法setValuesForKeysWithDictionary来快速进行字典转模型,通常我们只能对属性一一赋值,这样也是不可取的。这时,我们可以采用第三方来解决我们的这个问题。在模型的.m文件中导入第三方#import "MJExtension.h...

2018-10-10 08:46:12 948

原创 README.md中添加并显示gif图片方法

为了进入我Github主页的人直接看到代码实现的效果图,所以上传了一张gif图片。可能对于没有上传过gif图片的人可能很陌生,所以在这里在写一篇博客稍微总结下。具体步骤如下:首先把制作好的gif图片拉进工程的目录中。建议:制作gif图片可以使用licecap这个软件,用起来还是相当简便的。打开电脑上的终端。 cd + 工程文件夹,接着用Git命令上传gif图片到Github上。打开Git...

2018-10-09 16:00:51 5733 6

原创 iOS 热更新8种实现方式

一、JSPatch热更新时,从服务器拉去js脚本。理论上可以修改和新建所有的模块,但是不建议这样做。建议 用来做紧急的小需求和 修复严重的线上bug。二、lua脚本比如: wax。热更新时,从服务器拉去lua脚本。游戏开发经常用到。三、Weex跨平台,一套代码,iOS、Android都可以运行。用前端语法实现原生效果。比React Native更好用。weex基于vue.js,Rea...

2018-10-09 10:23:26 3365

原创 iOS UILabel文字添加描边实现

可以达到文字描一圈黑边的效果:继承UILabel以后重载drawTextInRect:- (void)drawTextInRect:(CGRect)rect { CGSize shadowOffset = self.shadowOffset; UIColor *textColor = self.textColor; CGContextRef c = UIGra...

2018-10-09 09:34:40 3827

原创 从零开始构建区块链(Blockchain)

区块链现在有多火看看比特币的价格也就知道了,不过作为一个有逼格的程序员,我们不应只关注到币的价值(为啥我没去买比特币,T-T),而应该去关注技术的本质,这个号称“第四次工业革命”的区块链技术。不过很多人估计对这个技术不太了解,包括我自己。既然不懂不如自己动手撸一个,实践出真知。在翻阅文章的时候刚好找到了这篇文章,下面让我们自己动手搭建一个简单的区块链。简单的说,区块链就是一个不可变、有序的链(c...

2018-10-08 17:40:02 3067

原创 iOS 12正式版新特性总结

文章目录iOS 12 新特性1、 性能2、动话表情(Animoji)& 拟我表情(Memoji)3、FaceTime 通话4、相机5、屏幕使用时间6、通知升级7、勿扰模式8、ARKit29、照片10、Siri11 、Face ID12、其他内置应用开发新特性1、Auto Layout2、优化 App Assets3、Building Faster in Xcode4、Swift距离苹果...

2018-10-08 16:07:43 780

原创 iOS App Store从10 月 3 号起所有 App 必须在 App Store Connect 里配置隐私政策链接

PS:10 月 3 日起,所有新的应用和更新的应用程序都必须在 App Store Connect 里配置隐私政策链接。隐私政策:所有 app 必须在 App Store Connect 元数据栏位和 app 内部包含可轻松访问的隐私政策链接。隐私政策必须明确而清楚地:指明 app/服务所收集的数据 (若有)、收集数据的方式,以及这些数据的所有用途。确认与 app 共享用户数据 (遵从这些准...

2018-10-08 15:43:24 3482 1

IDEA for mac汉化(2018.2)

IDEA for mac汉化版本2018.2;IDEA for mac汉化版本2018.2

2018-11-30

IDEA for mac汉化(2016.3)

IntelliJ IDEA for mac汉化,汉化版本2016.3。更新时间:2016-03-19 22:46:00

2018-11-30

仿美团、饿了么加入购物车以及加入购物车动画

仿美团、饿了么加入购物车以及加入购物车动画;可自定义话动画样式

2018-11-19

一份走心的JS-Native交互电子书

一份走心的JS-Native交互电子书,能够帮助更多的同学掌握 Hybrid 在 iOS 中的应用。

2018-11-19

带警示效果的TextField、改变光标起始位置

带警示效果的TextField、改变光标起始位置;自由定制;

2018-11-19

排序按钮封装、升序、降序

排序按钮封装、升序、降序;按钮一共有三种状态:非选中、选中升序、选中降序。

2018-11-19

几代码实现导航栏透明渐变、实现TabBar中间凸起

几代码实现导航栏透明渐变、实现TabBar中间凸起;可自定义

2018-11-19

实现支付宝语音收款功能、串行语音播报

语音播报。 语音播报需求运用最为广泛的应该是收银对账了,就类似于支付宝、微信、收钱吧等的收款语音提示一样。

2018-11-19

支持控制台‘po’打印,打印中文字典/数组,支持格式化

支持控制台‘po’打印,打印中文字典/数组,支持格式化;

2018-11-19

弹框大全,代理,block等实现

弹窗大全实现思路:1.通过代理方法回调的弹窗;2.通过block回调封装的弹窗;3.通过xib创建封装的弹窗;4.新建控制器作为弹窗

2018-11-19

动手搭建一个简单的区块链

区块链就是一个不可变、有序的链(chain)结构,链中保存着称之为块(block)的记录,这些记录可以是交易,文件或是任意你想要的数据。其中重要的是它们通过哈希链接在一起。

2018-11-19

数组越界处理,Runtime处理,分类处理

数组越界处理、Runtime处理、分类处理,使用不同的方法

2018-11-19

启动加载广告思路、广告View封装

启动加载广告思路、广告View封装;可自定义设置广告。

2018-11-19

OC与JS的交互(WKWebview-MessageHandler实现)

iOS 中实现加载 web 页面主要有两种控件,UIWebView 和 WKWebview,两种控件对应具体的实现方法不同。WKWebView是苹果公司在iOS8系统推出的,这里我们主要概述WebKit中更新的WKWebView控件的新特性与使用方法。

2018-11-16

使用iconfont图标

在iOS中使用iconfont图标替换原始切图,减少IPA大小。

2018-11-16

搭建App框架(MVVM+RAC+路由)

项目使用了ReactiveCocoa框架,实现了MVVM架构,使用MVVM架构主要目的是分离视图(View)和模型(Model)。

2018-11-16

一个UICollectionView轻松搞定顶部悬停效果、顶部悬停效果、collectionView达到悬停效果

一个UICollectionView轻松搞定顶部悬停效果、顶部悬停效果、collectionView达到悬停效果

2018-11-16

3D卡片轮播,卡片轮播,无限轮播,DIY

参考UITableView的UITableViewDataSource和UITableViewDelegate两个方法实现;支持五险轮播,可以加载本地图片,也可以加载网络图片,可以根据自己的需求自定义。

2018-11-16

仿某宝,自定义选择地址

自定义选择地址封装,仿某宝。根据需求定制化修改源代码

2018-07-19

自定义索引控件封装

自定义索引控件,可以根据自己的需求修改源代码。定制化

2018-07-19

Base64加密解密封装

自定义密码表,Base64加密解密代码封装,源代码可以进行自定义

2018-07-19

UILabel内容中某个文字添加点击事件

简单方便的给UILabel内容中某几个文字添加点击事件,实现定制要求

2018-07-19

简单代码实现跑炫酷马灯效果

简单实现炫酷的跑马灯,可自定义效果。修改源代码定制

2018-07-19

一行代码实现星级评价

超简单的实现星级评价,简单封装,简单的实现。可以随心修改源代码

2018-07-19

隐式切换主控制器代码

一行代码,可以巧妙切换主控制器,实现你想要的效果,不信你可试试

2018-01-31

倒计时封装

功能强大的短信倒计时,一行代码调用,方便简单解决问题

2018-01-31

空空如也

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

TA关注的人

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