自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力,可能成功!放弃,注定失败!

iOS开发交流群:①群529052159②群629878994欢迎大家一起加入探讨问题!

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

转载 iOS 更加优雅便捷的UIAlertView/UIAlertController封装使用

之前做过一套关于UIAlertView/UIAlertController的混合封装,详见:iOS (封装)一句话调用系统的alertView和alertController这个是将alertView和alertController做了版本适配封装在一起的,提供了变参和数组两种方式,不过现在看来,虽然是“一句话”调用,但并不是很优雅的方式。这次,改变了方案,将UIAlert

2016-12-30 22:25:10 1902

转载 趁热来一波,WWDC 2016 iMessage App开发

趁热来一波,WWDC 2016 iMessage App开发字数2156 阅读3420 评论14 喜欢37WWDC 2016关于iMessage App的两个视频已经放出(iMessage Apps and Stickers, Part1 iMessage Apps and Stickers, Part2)。从iOS 10开始,消息扩展(Messages Extension

2016-12-29 10:49:33 412

转载 ReactiveCocoa 中 集合类RACSequence 和 RACTuple底层实现分析

前言在OOP的世界里使用FRP的思想来编程,光有函数这种一等公民,还是无法满足我们一些需求的。因此还是需要引用变量来完成各式各样的类的操作行为。在前几篇文章中详细的分析了RACStream中RACSignal的底层实现。RACStream还有另外一个子类,RACSequence,这个类是RAC专门为集合而设计的。这篇文章就专门分析一下RACSequence的底层实现。目录1.R

2016-12-29 10:46:16 2085

转载 如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源

1、前言关于微信内部正在使用的网络层封装库Mars开源的消息,1个多月前就已满天飞(参见《微信Mars:微信内部正在使用的网络层封装库,即将开源》),不过微信团队没有失约,微信Mars 于2016年12月28日正式公开源码(源码地址:https://github.com/Tencent/mars,也可从本文文末的附件下载之,Android版演示程序可以从文末的附件中下载)。之前无论是微

2016-12-29 10:44:01 1871

转载 可拖拽的小窗口,最好用?

一、前言1、写了10多天的小程序代码,有兴趣的可以看我这篇小程序官方文档-小程序版【持续更新】,被坑得有点晕,突然想换换口味,写点iOS的,看群上有人提过这个拖拽view的功能,应该挺多人需要的,那就造一个分享吧。2、公司有自己的一个直播项目,看其他直播app都有小屏幕可拖拽播放的view(如下图),虽然还没有这个需求,早点准备好。截图来自某牙直播3

2016-12-26 10:13:46 1023

转载 CoreText实现图文混排之文字环绕及点击算法

CoreText实现图文混排之文字环绕及点击算法系列文章:CoreText实现图文混排CoreText实现图文混排之点击事件CoreText实现图文混排之文字环绕及点击算法终于我来完成我CoreText图文混排的最后一章了。先说一下我为什么会来补发这一章呢?1.老司机最开始没有留demo,以至于这个博客老司机从发出来到现在整整维护了半年了=。=其实博客里面就是全

2016-12-26 10:05:26 1660

转载 探讨iOS开发中各种锁

摘要平常项目开发中需要手动加锁的地方少之又少,而且一般是简单粗暴使用@synchronized搞定,不过打算封装框架时就会发现远不满足。本文的目的是希望站在iOS开发中锁的使用之上的层面分析,探讨各种加锁方式的大致实现原理以及它们之间的区别和性能对比。由于加锁必然涉及到多线程相关知识,所以本文涉猎的知识点可能较多,本着相互学习探讨的心态,希望大家多多指正。首先借鉴一张ibireme各种锁性

2016-12-22 15:03:41 1284

转载 GCD容易让人迷惑的几个小问题

写在开头:本文旨在阐述一些大家容易产生迷惑的GCD相关内容,如果是需要了解一些GCD概念或者基础用法,可以看看这两篇文章:GCD 扫盲篇、巧谈GCD。目录:迷惑一:队列和线程的关系迷惑二:GCD的死锁迷惑三:以下这些API的异同与作用场景:dispatch_async、dispatch_sync、dispatch_barrier_async、dispatch_barri

2016-12-21 16:36:27 599

转载 iOS用自签名证书实现HTTPS请求的原理实例讲解

在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求。默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Transport Security)的限制(否则须在应用审核时进行说明并很可能会被拒)。所以还未进行相应配置的公

2016-12-21 16:33:43 930

转载 [iOS] 图像处理 - 一种高效裁剪图片圆角的算法

场景经常看到各种高效裁剪圆角的文章,正好之前做过一点数字图像处理,就打算用空域处理的办法,写个裁剪圆角的算法,一定要尽可能的快的,不然界面容易卡顿。裁圆角很简单,对于图像上的一个点(x, y),判断其在不在圆角矩形内,在的话 alpha 是原值,不在的话 alpha 设为 0 即可。如下图15F6A143-2704-402D-88EA-DB80B0266F80.png我遍历

2016-12-19 22:05:51 2048

转载 利用动态加载实现手机淘宝的节日特效

相信去年圣诞节打开过手机淘宝的童鞋都会对当时的特效记忆犹新吧:全屏飘雪,旁边还有个小雪人来控制八音盒背景音乐的播放,让人有种身临其境的感觉,甚至忍不住想狠狠购物了呢(误),大概就是下面这个样子滴:嗯,确实很炫,那么我们一步步去分析是如何实现的:一、实现下雪的 View首先,最上面一层的全屏雪花极有可能是一个顶层的View,而这个View是通过动态加载去控制显示的(不更新淘宝也能

2016-12-19 21:56:03 495

转载 iOS逆向之分析微信导航栏实现

最近需要实现微信的毛玻璃导航栏效果,尝试了各种方式后还是有点差别,这在追求完美的设计师眼里是绝不能忍的,于是只好“看看”原作是怎么实现的。在逆向分析了微信的实现后,发现微信的实现十分特殊,文末会告诉大家答案:)环境准备一台越狱设备OpenSSH 插件Cycript 插件盘古支持 9.3.3 以下版本的越狱,越狱过程十分快速方便。越狱完成后还要在 Cydia 里搜索安装 OpenSS

2016-12-19 21:53:43 1899

转载 从零开始实现k线图走势图绘制(iOS实战篇)

上篇文章中,我们了解了走势图k线图绘制及的一些关键点,基于大家都懂期货股票这些东西的基础上去讲解的,说的也不够全面,这篇文章我们以实战为主,一步一步写出可以商业化的k线图。一、什么是k线图?1.k线图:有最新价、收盘价、开盘价、最高价、最低价、均价、卖量、买量等等。而我们需要展示给用户看的第一眼就是把它们全部绘制为k线图,直观。还有部分要转化为数值直接推动;蜡烛:需要用到收盘价、开盘价

2016-12-16 16:20:20 7256

转载 [译]百里挑一:21个优质Swift开源App

原文链接:21 Amazing Open Source iOS Apps Written in SwiftMybridge AI 根据代码质量和start排名从900多个开源项目中选出21个开源项目。1:Firefox iOS[Official] Firefox iOS app built in Swift (Github Stars: 5,906).

2016-12-15 09:12:06 973

转载 JavaScript实现Fly Bird小游戏

1.分析页面结构,理清需求和功能游戏有三个界面,分别是开始界面,游戏界面和游戏结束界面。1.1 开始界面start.gif游戏的大背景上下移动的游戏标题和翅膀摆动的小鸟start 按钮,点击进入游戏界面一直移动的地面1.2 游戏界面play.gif显示越过障碍数量的计分器移动的障碍物,分别是上管道和下管道点击游戏界面,小鸟向上飞起,然后在重力

2016-12-15 09:09:46 2579

转载 实现外卖选餐时两级tableView联动效果

最近实现了下饿了么中选餐时两级tableView联动效果,先上效果图,大家感受一下:联动效果下面说下具体实现步骤:首先分解一下,实现这个需求主要是两点,一是点击左边tableView,同时滚动右边tableView到具体的位置。二是拖动右边tableView选中左边tableView对应的某一行。要实现这个需求有一点很重要:左边的tableView每一行对应的是右边tabl

2016-12-13 11:07:09 1147

转载 iOS App 唤醒另一个App

网上也有讲这块的,感觉讲得都不是很好。而且有一些细节根本没有讲清楚。这里重写整理一下相关知识点。主要内容URL Scheme 是什么?项目中关键的配置注意事项URL Scheme 是什么?iOS有个特性就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme用于从浏览器或其他应用中启动本应用。常见的分享到第三方之间的跳转都是基于Scheme的。通过对

2016-12-13 11:05:16 986

转载 Aspects源码解析

对于面向方面的编程一个愉快的,简单的库关键字面向切片编程:OC动态性,消息转发,类型编码, ,Swizzle...使用场景:1.统一处理逻辑2.在不改变源码的情况下,插入代码(如无侵染更改第三方库代码,干一些坏坏的事情)Aspects只有一个类文件,非常轻量级,实现在思路的上状语从句:JSPatch差不多。都主要用到OC的消息转发,都名单最终交给Forwar

2016-12-13 11:00:16 1632

转载 iOS 10 适配 ATS(app支持https通过App Store审核)

iOS 10 适配 ATS一. HTTPS其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。HTTP和SSL/TSL都处于OSI模型的应用层。从H

2016-12-12 10:10:30 2466

转载 Swift Protobuf 初探 —— 继 XML 后,JSON 也要被淘汰了吗

Protocol Buffers 是什么?Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. —— Google

2016-12-07 17:08:12 1263

转载 零行代码为App添加异常加载占位图

前文提要近期准备重构项目,需要重写一些通用模块,正巧需要设置App异常加载占位图的问题,心血来潮设想是否可以零行代码解决此问题,特在此分享实现思路。思路分享对于App占位图,通常需要考虑的控件有tableView、collectionView和webView,异常加载情况区分为无数据和网络异常等。既然要实现零代码形式,因此就不能继承原始类重写或添加方法等方式,而是通过对对应控件添加

2016-12-07 17:05:34 952

原创 iOS百度地图的基本使用

1.如何点击按钮放大和缩小地图?在地图上创建两个按钮加上点击事件,点击事件中分别写上如下方法即可实现:创建按钮://左边按钮UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeSystem];leftBtn.frame = CGRectMake(SCREEN_WIDTH*0.6, SCREEN_HEIGHT*0.93

2016-12-05 11:31:02 2338

转载 iOS直播相关(快速集成基于RTMP的视频推流与拉流)

关于直播技术的讲解已经有很多文章做过介绍了,我也只是参照前辈们的研究做了一个初步的入门,此文涉及的内容是在自己亲自实践过的基础上记一个笔记。原理性的东西就不做记录了,毕竟我也不是很懂。。一.推流部分搭建nginx+rtmp服务器(1)安装Homebrew打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令man brew如果已经安装, 直接进入第二步。

2016-12-05 09:30:58 4302 1

转载 IOS类似图片验证码的实现

1.初始化一个数组来存数字和字母,随机获取这个数组的4个元素组成一个验证码字符串(以4位验证码为例子 如“4kH6”)。- (void)changeCodeStr{ self.textArray = [[NSArray alloc] initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"A",@"B",@

2016-12-05 09:28:53 5499

转载 谈谈 KVO

文章结构如下:Why? (为什么要用KVO)What? (KVO是什么)How? ( KVO怎么用)More (更多细节)原理自己实现KVO在我的上一篇文章浅谈 iOS Notification中,我们说到了iOS中观察者模式的一种实现方式:NSNotification 通知,这次我们再来谈谈iOS中观察者模式的另一种实现方式:KVO 。Why?假如,有一个person类,

2016-12-05 09:18:29 462

转载 iOS动画篇:核心动画

基本概念1、什么是核心动画  Core Animation(核心动画)是一组功能强大、效果华丽的动画API,无论在iOS系统或者在你开发的App中,都有大量应用。  核心动画所在的位置如下图所示:Core Animation.png  可以看到,核心动画位于UIKit的下一层,相比UIView动画,它可以实现更复杂的动画效果。  核心动画作用在CALayer

2016-12-02 09:16:10 1345

转载 仿淘宝上拉进入详情页交互的实现

前言项目某个新需求的交互要求仿照淘宝上拉从下网上弹出宝贝详情。今天打开淘宝APP仔细看了看,然后自己写了写,现在感觉效果差不多了,记录一下。分析可以看到,该页面是分为两部分的,一部分是一开始就能看到的商品信息,然后我们上拉屏幕,屏幕不断往上滚动,滚动到第一部分结束时可以看到底部有“继续拖动,查看图文详情”一行文本出现。继续上拉到一个临界点便触发了翻页,此时第二部分以动画的形式从底部

2016-12-02 09:12:32 1724 1

iOS视图提示框

视图提示框,可以根据自己的需要设置在视图的上,中,下,三个位置显示 ,可以随意设置提示内容,可以随意设置视图停留时间,调用简单,使用简洁

2016-09-09

iOS图片工具

很好用的一款IOS图片处理工具,只需将需要的图片拖拽到图片工具内,工具会自动生成图片

2016-01-18

空空如也

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

TA关注的人

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