关闭

[置顶] iOS常用方法整理超全

一.富文本: /** * 富文本声明 */ + (NSMutableAttributedString *)getLableText:(NSString *)text changeText:(NSString *)changeString Color:(UIColor *)color font:(NSInteger)font; /** * 富文本实现 */ + (NSMutableAttr...
阅读(43) 评论(0)

[置顶] 优化iOS程序性能的25个方法

淘劵吧 1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。 而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC...
阅读(31) 评论(0)

[置顶] iOS应用瘦身方法思路整理

一、前言前段时间注意到我们APP的包大小超过100MB了,所以随口跟吕老板说了下能否采用字体文件(.ttf)替代PNG图片,吕老板对应用瘦身很感兴趣因此让我做下技术调研。这篇文章主要是将我们的各个技术方案的思路做一下整理和总结,希望对大家有所帮助。二、iOS内置资源的集中方式在介绍技术方案前我们先来看下iOS内置图片资源都有哪些常见的方式:1、将图片存放在bundle下这是一种非常常见的方式,项目...
阅读(16) 评论(0)

[置顶] 《高性能iOS 应用开发》之降低你 APP 的电量消耗

高性能iOS 应用开发 在编写高性能 代码时, 电量消耗是一个需要重点处理的重要因素, 就执行时间和 CPU 资源的利用而言, 我们不仅要实现高效的数据结构和算法, 还需要考虑其他的因素,如果某个应用是个电池黑洞,那么一定不会有人喜欢他 电量消耗除了 CPU 外,还有一些硬件模块:网络硬件, 蓝牙,GPS, 麦克风,加速计,摄像头,扬声器,和屏幕. 我们可以带着以下问题来看这篇文章: 消耗...
阅读(23) 评论(0)

[置顶] ReactiveCocoa 小总结

本文作者: 伯乐在线 - Jerry4me 。未经作者许可,禁止转载! 欢迎加入伯乐在线 专栏作者。 我的Github地址 : Jerry4me, 本文章的demo链接 : JRReactiveCocoa RAC与MVVM如今已经不是一个新鲜的玩意了, 对于介绍他们两的精品文章更是大把, 这篇文章主要是用来记录自己学习RAC的过程以及RAC的一些用法, 以防以后要用到的时候却记不...
阅读(39) 评论(0)

[置顶] 如何让 Xcode 在读写上提速100倍?

本文作者: 伯乐在线 - 故胤道长 。未经作者许可,禁止转载! 欢迎加入伯乐在线 专栏作者。 上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,匠心独运,极客风十足。以下是他...
阅读(37) 评论(0)

[置顶] 33 款主宰 2017 iOS 开发的开源库

原文出处: Paweł Białecki   译文出处:oschina    你好,iOS 开发者们!我的名字是 Pawel,是一名 iOS 独立开发者,也是  Enter Universe 的作者。 大概在两年前,我发布了 提升开发的 27 个 iOS 开源库。这篇文章是我的一个最佳纪录(用户好评数): 因为有15.5万人关注过这个话题,为了帮大家找到最...
阅读(43) 评论(0)

[置顶] iOS 复制知识点总结

原文出处: 檀羽冲    1、系统对象的复制 不管是集合类对象,还是非集合类对象,接收到copy和mutableCopy消息时,都遵循以下准则: copy返回immutable对象;所以,如果对copy返回值使用mutable对象接口就会crash;mutableCopy返回mutable对象; 下图详细阐述了NSString、NSMutableString、NSArray...
阅读(29) 评论(0)

[置顶] iOS 团队编程规范

原文出处: 檀羽冲    前 言 需求是暂时的,只有变化才是永恒的,面向变化编程,而不是面向需求编程。不要过分追求技巧,降低程序的可读性。简洁的代码可以让bug无处藏身。要写出明显没有bug的代码,而不是没有明显bug的代码。先把眼前的问题解决掉,解决好,再考虑将来的扩展问题。 一、命名规范 1、统一要求 含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释...
阅读(34) 评论(0)

[置顶] 不可思议的OOM

作者:陶菜菜 链接:http://www.jianshu.com/p/e574f0ffdb42 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。摘要: 本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,探索并解释了这类OOM抛出的原因。关键字: OutOfMemoryError ,OOM,pthre...
阅读(74) 评论(0)

[置顶] iOS ARKit 教程:不触摸屏幕,用空气中的手势作画

本文来自简书,原文地址:http://www.jianshu.com/p/4cbe6b6b8ea2 本文翻译自 iOS ARKit Tutorial: Drawing in the Air with Bare Fingers,原作者是 Osama AbdelKarim AboulHassan。 最近,Apple 发布了名为 ARKit 的全新增强现实(AR)库。在许多人看来,这只是...
阅读(162) 评论(0)

[置顶] iOS 移动端生成工具开发

本文来自简书,原文地址:http://www.jianshu.com/p/cb36b36f90dd 上个月的一篇移动端面向文档开发一文久违的被编辑推荐到了首页, 也引来了饿了么大神的关注, 虽然最后实力不济未被录用, 但也指明了我前进的方向. 从4月到现在从一个想法到一步步的实现, 感觉自己还是有充足的长进的, 今天我们继续来完善这个项目. 之前有写过一个python脚本的生成工具, 通过...
阅读(89) 评论(0)

[置顶] Android复杂表格的实现

本文来自简书,原文地址:http://www.jianshu.com/p/6d133f572ed2 最近在做一个房贷计算器的项目,项目中需要实现一个较为复杂的表格。如下图所示。 12.png 需求是当滑动中间区域的内容时,表头可以跟着滑动。即左右滑动时,第一列固定,第一行和第二行的内容可以跟着内容区域一起滑动;上下滑动时,第一行第二行固定,第一列可以跟着内容区域一起滑动。 刚开...
阅读(295) 评论(0)

[置顶] OC版贪吃蛇

本文来自博客园:原文地址:http://www.cnblogs.com/han-chun-lin/p/7266152.html 昨天写了一个js版贪吃蛇,今天突然想写一个OC版的,来对比一下两种语言的区别 oc版功能,适配所有尺寸iphone,可暂停,可设置地图和蛇的比例,可加速 对比一下会发现js版的相对OC版的会简单一些,有想看js版的可以看我上一篇随笔 程序中没用到任...
阅读(116) 评论(0)

[置顶] Git常用命令整理记录

原文地址:http://www.jianshu.com/p/94b6add4237c 帮助Git理解  图片来源:http://www.cnblogs.com/houpeiyong/p/5890748.html Git命令: --基础使用-- 用户名:git config --global user.name "" 邮箱:git config --global user.email ...
阅读(133) 评论(0)

[置顶] Swift Router 页面跳转路由,组件解耦

原文地址:http://www.jianshu.com/p/4ba2db91030b 为什么要用到Router去做跳转:解耦、方便 像底下这种代码可能写了很多很多遍了,尤其是在项目中某个页面入口很多的情况下。 let xx = XX() ... let vc = XXXViewController(xx:xxx) self.navigationController?.pushVi...
阅读(139) 评论(0)

[置顶] 从简书iOS客户端,来谈谈Hybrid方案细节设计

原文地址:http://www.jianshu.com/p/9c8552a87a3e 作为一位 iOS 开发人员,你应该已经敏感地发现,自己的工作涉及内容已经不止于 Native 的部分,因为 Hybrid App 和 ReactNative 等技术方案已经不仅仅是概念,越来越多的公司开始着手自己的 Hybrid 方案以及 ReactNative 本地化工作。 一、引言...
阅读(91) 评论(0)

[置顶] 手把手教你发布自己的cocoapods开源库

原文地址:http://www.jianshu.com/p/3a365f273439 发布自己的cocoapods开源库按照以下步骤,良心制作,包教包会!! 下面我会通过一个名为IFMMenu的项目来讲解一下整个过程。 1.写好代码,上传到github github上创建项目仓库的时候记得创建LICENSE(许可证/授权)文件,此文件必须要有。 github上创建项目仓库 ...
阅读(117) 评论(0)

[置顶] iOS开发-轻松学会封装自定义视图view(自定义弹框封装详解)

原文地址:点击打开链接 我们在做开发时经常会自定义一些view,并且如果如果该view比较复杂或者经常被调用到,我们就可以将该view单独放到一个类中,方便调用或者修改。笔者前段时间封装了一个自定义的弹出框,功能简单,借此跟大家交流一下封装自定义的视图view的方法与心得,仅仅是为了分享学习,并不建议直接在项目中使用,如果有错误或者不足之处,欢迎大家前来批评指正。 先上效果图: ht...
阅读(125) 评论(0)

[置顶] Github | 程序员七大生产力工具

简评:GitHub 是一个面向开源及私有软件项目的托管平台,同时它也为程序员提供了生产力工具,旨在帮助开发者更高效地构建软件。本文给大家推荐七种高效生产力工具。 1. Oh My Zsh 获得超过 43000 颗 star,Oh My Zsh 可以说是 Github 上最受欢迎的生产力工具了。它是一款社区驱动的命令行工具,基于 zsh 命令行,提供了主题配置,插件机制,以及内置的便捷操作。...
阅读(152) 评论(0)

[置顶] WWDC 2017 - Vision 图像识别框架的使用

北京时间2017.6.6日凌晨1点,新一届的WWDC召开,苹果在大会上发布了iOS11的beta版,伴随着iOS 11的发布,也随之推出了一些新的API,如:ARKit 、Core ML、FileProvider、IdentityLookup 、Core NFC、Vison 等。 本篇文章主要简单介绍下其中的 Vision API 的使用(Vision更强大的地方是可以结合Core ML模型实现...
阅读(340) 评论(0)

[置顶] iOS开发的动态曲线图绘制

本文来自简书,原文地址:http://www.jianshu.com/p/cfd869a1202b 最近项目中需要用到曲线图,虽然有很多demo,但还是想自己写个,毕竟也不难,当然效果不如网上那些大神的好看~毕竟水平有限,但是也足够我应付项目需求了嘿嘿(主要还是闲的,哈哈) 首先效果如图: 1.首先自定义一个view,我定义了这些属性 (忽略我蹩脚的起名) ...
阅读(263) 评论(0)

[置顶] 大话大前端时代(一) —— Vue 与 iOS 的组件化

序 本文来自简书,原文地址:http://www.jianshu.com/p/b534b70c9cb8 今年大前端的概念一而再再而三的被提及,那么大前端时代究竟是什么呢?大前端这个词最早是因为在阿里内部有很多前端开发人员既写前端又写 Java 的 Velocity 模板而得来,不过现在大前端的范围已经越来越大了,包含前端 + 移动端,前端、CDN、Nginx、Node、Hybrid、Weex、...
阅读(312) 评论(0)

[置顶] YTKNetwork源码解析

本文来自简书,原文地址:http://www.jianshu.com/p/89dd444399ce 对于iOS开发者来说,就算是没有用过YTKNetwork框架,应该也见过,听过了。它是猿题库技术团队开源的一个网络请求框架,内部封装了AFNetworking。它把每个请求实例化,管理它的生命周期,也可以管理多个请求。 在正式讲解源码之前,我会先讲一下该框架所用的架构和设计模式。我总觉得对架构和...
阅读(139) 评论(0)

[置顶] iOS 性能监控方案 Wedjat(下篇)

作者:敖志敏 本文为原创文章,转载请注明作者及出处 image.png 前文地址:iOS 性能监控方案 Wedjat(上篇) 国内移动网络环境非常复杂,WIFI、4G、3G、2.5G(Edge)、2G 等多种移动网络并存,用户的网络可能会在 WIFI/4G/3G/2.5G/2G 类型之间切换,这是移动网络和传统网络一个很大的区别,被称作是 Connection Migra...
阅读(438) 评论(0)

[置顶] iOS 性能监控方案 Wedjat(上篇)

作者:敖志敏  本文来自简书,原文地址:http://www.jianshu.com/p/1e9492263706 image.png 为什么写这篇文章? 随着移动互联网向纵深发展,用户变得越来越关心应用的体验,开发者必须关注应用性能所带来的用户流失问题。据统计,有十种应用性能问题危害最大,分别为:连接超时、闪退、卡顿、崩溃、黑白屏、网络劫持、交互性能差、CPU 使用率问题、内...
阅读(512) 评论(0)

[置顶] 到底有多强?苹果的增强现实框架:ARKit

写在前面 其实准备ARKit已经很久了,确切地说当WWDC开始介绍时就开始了。其后参加了苹果的ARKit workShop,加上自己有点事,所以文章一直没发出来,现在再发一篇上手文章,也没什么意义。所以本篇文章重在workShop上与苹果工程师的交流和我对ARKit的理解, 最后会简单介绍一下相关技术。 Work Shop Demo MarkDown无法传视频,这里是视频连接。...
阅读(563) 评论(0)

[置顶] iOS 11:机器学习人人有份

Core ML 原文地址:iOS 11: Machine Learning for everyone原文作者:Matthijs Hollemans译文出自:掘金翻译计划译者:Changkun Ou校对者:wilsonandusa atuooo 本文同步发布于公众号:AIMaster。在这里,我们一起学习 AI. WWDC 2017 使一件事情变得非常清楚,那就是:Apple...
阅读(184) 评论(0)

[置顶] iOS 原生二维码[扫码]与[生成]详解

本文来自简书,原文地址:http://www.jianshu.com/p/2180e940a589 前言 二维码现在很常见, App中有许多都配置了该功能, 网上也有很多对iOS二维码的讲解, 但是对配置扫码范围这个问题好像都没怎么讲清晰. 作者今天就写一下二维码. 一 二维码介绍 二维码 三个回形大方块, 是为了给相机定位的; 黑白块, 黑块代表1, 白...
阅读(230) 评论(0)

[置顶] iOS资源大全中文版

iOS资源大全中文版 转载 :https://github.com/phlls/awesome-ios-cn 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-ios 就是 vsouza 发起维护的 iOS 资源列表,内容包括:框架、组件、测试、Apple Store、SDK、XCode、网站、书籍等。Swift 语言写成的...
阅读(605) 评论(0)

[置顶] iOS 股票K线图绘制

本文来自简书,原文地址:http://www.jianshu.com/p/f7906f5b4f4c 最近一段时间写了一个iOS的K线图。写这个纯属个人兴趣,正好提高一下自己绘图方面的能力。在写的时候,参考了Cocoa-Charts 的实现思路。 废话不多说,先上图: 特点: 采用 CAShapeLayer + UIBezierPath绘制,绘制...
阅读(402) 评论(0)

[置顶] Android知识库

QQ截图20170707151035.png 更友好的阅读体验点击 Android知识库 本文来自简书,原文地址:http://www.jianshu.com/p/30095b8983b2 1.基本控件 1.1.TextView ReadMoreTextViewHtmlImageandroid-autofittextviewhtml-textviewBabus...
阅读(322) 评论(0)

[置顶] iOS隐私权限获取和检测

本文来自简书,原文地址:http://www.jianshu.com/p/e20fd80619ce GitHub:ECAuthorizationTools 该工具类主要是为了方便大家获取设备权限和检查对应的权限,目前支持iOS7 - iOS10所有设置中的隐私权限获取和检测。具体每一个隐私的权限获取和检测都在工具类ECAuthorizationTools.h中有详细的逻辑思路。Demo...
阅读(539) 评论(0)

[置顶] iOS 在cell中使用倒计时的处理方法(新)

本文来自简书,原文地址:http://www.jianshu.com/p/af62a56ef7e2 前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, 所以现在没法更新之前的文章, 重新写一份清晰的文章 需求: 每条Cell中显示倒...
阅读(311) 评论(0)

[置顶] Apple Music卡片弹出动画的实现

本文来自简书,原文地址:http://www.jianshu.com/p/d8689bf8fce4 作为程序员,不是在埋头苦干就是在埋头苦干的路上。碰上公司赶项目的时候更是如此。但是,再怎么忙休息的时候也要抽出时间来放放松。健身,音乐,旅游。学会管理自己的生活才能活得更轻松。 说了这么多该回到正题。最近在听音乐时发现Apple Music的卡片弹出动画很有趣,琢磨了一阵子就打算练练手。也顺...
阅读(133) 评论(0)

[置顶] 10 个非常有用的 SVG 动画的 JavaScript 库

本文来自简书,原文地址:http://www.jianshu.com/p/20bfeda0ba3b SVG 通常可以用作跨分辨率视频。这意味着在一块高分屏幕上不会降低图片的锐度。此外,你甚至可以让SVG动起来,通过使用一些javascript类库。下面,我们分享一些javascript类库,这些类库会帮助我们将SVG动画提高一个等级。 1. Vivus Vivus Vivus ...
阅读(325) 评论(0)

[置顶] iOS扩大按钮的可点击范围

本文来自简书原文地址:http://www.jianshu.com/p/43c22fa3b42c 需求点 一般来说按钮的点击范围和按钮的大小是相等的,但是如果按钮很小,就会造成难以点击的情况,甚至有的时候按钮周围还有别的可点击区域,造成经常误点击的差体验。 实现方法 网上主要有几种实现的方法: 设置按钮的图片setImage:,然后将按钮的size设置得比图片...
阅读(244) 评论(0)

[置顶] 那些年Android黑科技③:干大事不择手段

“我在发抖么? 你开什么玩笑。我只是在跳愉快的尬舞。 暗影是不会向邪恶势力低头的。 万岁~(≧▽≦)/~!!” -- 来自暗世界android工程师 本文来自简书,原文地址:http://www.jianshu.com/p/8f9b44302139 前言: 本篇是本系列的最后一个篇章。其实这些活儿也不全是在干坏事用。我们的重点不应该放在那某个技术点上。应该从中举...
阅读(501) 评论(0)

[置顶] self.delegate = self?

本文来自简书原文地址:http://www.jianshu.com/p/c92800c5a658 前言 在 Objective-C 项目中,不少开发者们可能会写或者曾看到过这样的代码: self.delegate = self ??把自己的代理设置为自己??这种做法到底妥不妥呢? 本文将采用自问自答、通俗易懂的方式讨论 self.delegate = self 这种做法是...
阅读(557) 评论(0)

[置顶] ReactNative 仿造 ofo 共享单车快速开发的app

本文来自简书,原文地址:http://www.jianshu.com/p/9675d8d05ce5 ofo ReactNative 仿版(主要是做 iOS版本) 原因 之前一直想做个 ReactNative 关于地图相关的 demo ,然后近两天在群里看见有人发的 RN 做的 ofo 共享单车的仿版(主要是针对安卓的),就想着乘着这几天活不多,也做一个,用下最新的 RN 版本(0...
阅读(832) 评论(0)

[置顶] iOS 蓝牙开发(ble4.0) -swift版

CmdBluetooth 项目地址:https://github.com/ZeroFengLee/CmdBluetooth CmdBluetooth是一个针对于iOS的轻量级可扩展框架,Core内部将蓝牙周边抽象化,用户无需关注蓝牙内的操作细节与流程,仅需要你们自己的蓝牙协议,创造出自己的命令对象。 以往的蓝牙协议都是集中式处理,出现逻辑复杂且混乱的现象,以至于扩展困难。...
阅读(673) 评论(0)

[置顶] iOS 战斗机&跑车效果

本文来自简书,原文地址:http://www.jianshu.com/p/f6fdf467b7f0 近来看到QQ音乐里面有一些酷酷的礼物效果,手痒,从网上找到一些素材,尝试做一下,效果有点粗糙,但是还是学到了一些东西,故和大家一起探讨分析一下。 先上跑车效果: 跑车.gif 然后是战斗机效果: 飞机.gif 先说说这个跑车效果怎么做。...
阅读(100) 评论(0)

[置顶] Machine Learning in iOS

本文来自简书,原文地址:http://www.jianshu.com/p/981774d46d93 人工智能今年到底有多火?谁都不知道,但一定是炙手可热。自从AlphaGo打败世界最顶级的围棋选手后,这股旋风就一直没有停过。各家厂商也都推出了自己的平台上的支持,如Google I/O 2017上宣布的Mobile First To AI First,Tensorflow和AI in ...
阅读(303) 评论(0)

[置顶] Vue 全家桶 + Electron 开发的一个跨三端的应用

GitHub Repo:vue-objccn Follow: halfrost · GitHub 项目地址:https://github.com/halfrost/vue-objccn 本文来自简书,原文地址:http://www.jianshu.com/p/bff94aa90836 利用 Vue.js 实现 objc中国 的跨平台全栈应用 ✅ 桌面应用,支持 Mac...
阅读(484) 评论(0)

[置顶] Grand Central Dispatch(GCD) 深入浅出 更新中...

本文来自简书,原文地址:http://www.jianshu.com/p/8cb4f395d2c4 1 GCD 术语 1.1 Serial vs. Concurrent 串行 vs. 并发 概念:该术语描述执行当前任务与其他任务之间的关系。串行执行意味着每次只有一个任务被执行;并发执行即同一时间可以有多个任务被执行。 计算机有单核和多核之分,单 CPU 计算机实际为宏观上并...
阅读(254) 评论(0)

[置顶] Wireshark抓包iOS入门教程

本文来自简书,原文地址:http://www.jianshu.com/p/c67baf5fce6d 网络抓包是个基础技能,对于网络协议的掌握有一定的要求。iOS上实现网络抓包可以用Charles(针对http和https),tcpdump(快速分析网络包),和Wireshare。之前写过一篇介绍tcpdump抓包的入门文章,和tcpdump相比,Wireshark提供丰富的GUI交互,而且能...
阅读(308) 评论(0)

[置顶] iOS 11:几点值得关注的 UIKit 改进

本文来自简书,原文地址:http://www.jianshu.com/p/0df8c58804c4 UIStackView 这个控件深受大家的喜爱,只有一个微调——但关键是,这正是它需要的微调。stack view 复杂但灵活——但考虑到它强大的能力和神奇的 AutoLayout,还是有一件事没有做好:已排列子视图间的可变间距。 在 iOS 11 中有所不同,只要一个新方法就...
阅读(274) 评论(0)

[置顶] Core ML 与 Vision:iOS 11 机器学习教程

此文翻译自 Core ML and Vision: Machine Learning in iOS 11 Tutorial 本文来自简书,原文地址:http://www.jianshu.com/p/1df8ac6af865 注意:此教程需要 Xcode 9 Beta1 或更新的版本、Swift 4 以及 iOS 11. 机器学习正在肆虐横行。很多人都听说过,但很少有人知道这是...
阅读(701) 评论(0)

[置顶] Swift4 新特性一览

本篇为 2017 WWDC Session 402 笔记,原视频在这里 原文地址:http://www.jianshu.com/p/169a34de7532 语法特性 Swift3中,如果将主体函数的变量定义为private,则其extension无法读取此变量,必须将其改为filePrivate才可以,但是权限又被扩大了。在Swift4中,private变量也可以被其e...
阅读(379) 评论(0)

[置顶] iOS-手把手教你画分时线

本文来自简书,原文地址:http://www.jianshu.com/p/7e8d3b845331 前言 最近项目和股票有关,自然而然想起了分时线,K线等东西.即使是出自自己手里的东西,放久了难觅看忘记,特别是当时的想法和逻辑思维过程.既然写了,总要留下点什么,于是有了这篇笔记. 先看看最后结果吧.此图确实不够美观,但是毕竟只是一个demo,一个骨架而已,具体的血肉需要大家自己根...
阅读(307) 评论(0)

[置顶] iOS传感器:使用陀螺仪完成一个小球撞壁的小游戏

本文来自简书,原文地址:http://www.jianshu.com/p/0763d4ac256d 上一次借着实现一个随屏幕旋转的小玩意,了解了iPhone内置的加速计。今天咱们继续搞点好玩的东东。按照计划这次要看看陀螺仪了。 一个超级贱的利用陀螺仪的APP .png 最终咱们会完成一个小球撞壁的小游戏。小球可以感受到重力,从而能够随着手机的运动来一起运动。为了增加...
阅读(487) 评论(0)

[置顶] iOS实践:通过核心动画完成过山车

本文来自简书,原文地址:http://www.jianshu.com/p/f6e147547fe0 呼哧,终于今天到了最后一篇啦,也是醉了,弄了两三个月。从最开始计划只写三篇就好了,结果自己没把握好,一点点加成了今天这个样子。因为增加的内容太多,也差点变成太监文,不过好在没有放弃自己。所以各位行行好,要是看上去觉得还不错,就点个赞,打赏小的点儿。这玩意儿写的我是头发乱发,两眼通红。哇哇哇哇~...
阅读(275) 评论(0)

[置顶] 17 位谷歌 Android 开发专家是如何看待 Kotlin 的?

译者简介:ASCE1885, 《Android 高级进阶》作者。 微信公众号:asce1885小密圈:Android高级进阶,详情见这篇文章。Github,简书,微博,CSDN 知乎 原文链接:https://antonioleiva.com/google-kotlin/, 由于 Markdown 对图片的排版存在限制,因此为了保证排版的美观,本文对作者介绍部分进行截图,不做另外的翻译...
阅读(289) 评论(0)

[置顶] 使用Xcode进行iOS设备无线调试

设备环境:Mac OSX 10.12.5、iOS11、Xcode9 PS:这是WWDC2017的新功能,iOS11以上,Xcode9这是刚性要求。这个功能不好找,就记下来了 手机连接上Xcode,打开Xcode菜单:Windows->Device and Simulators。找到连接上的设备,把Connect via network选项打勾。 image.png...
阅读(1825) 评论(2)

[置顶] Core ML 文档翻译

本文来自简书,原文地址:http://www.jianshu.com/p/6c2dff59eaaf 将机器学习模型集成到您的应用当中。 概览 借助 Core ML,您可以将已训练好的机器学习模型,集成到自己的应用当中。 所谓已训练模型 (trained model),指的是对一组训练数据应用了某个机器学习算法后,所生成的一组结果。举个例子,通过某个地区的...
阅读(3311) 评论(0)

[置顶] 【硅谷问道】 WWDC 17: 开发者的最初观感

前言 每年的 WWDC 都是 iOS 开发者集体高潮的时刻。第一天的 WWDC 带来了全新的 iOS 11、MacOS、tvOS 和 watchOS,革命性的 AR 和 ML 应用,以及更强的 iPad、“硬件神兽” iMac Pro 和智能音箱 HomePod。我想从开发者的角度,聊聊这次大会给我的印象和感受。欢迎大家在评论中谈谈自己的看法。 机器学习 恐怕没有哪个词的频率高过...
阅读(170) 评论(0)

[置顶] iOS多模式&富交互视频播放器TTAVPlayer(附源码)

本文来自简书,原文地址:http://www.jianshu.com/p/1deb9a590cd6 源码可见:[直接点击] (如果喜欢文章,大家进去点个star支持一下,多谢~) 1.背景 最近开始抓端体验,播放器作为一个基础功能一直为人诟病:交互不友好,如手势调节播放进度,音量,屏幕亮度,以及对网络状态的处理等。同时也不能支持现在业务场景多样化对播放器的需求等等。于是决定在...
阅读(378) 评论(0)

[置顶] 包教包会-弹性动画的原理与实现

bounce 弹性动画一直以来都深深地吸引我,随着知识储备增多,渐渐探索出一套弹性动画的实现原理。 简介 本文将从零开始,一步步解析弹性动画原理,包教包会。本文Demo简单地封装了一个动画库来测试,支持UIView的三种动画类型:Size、Position、Scale,动画运动曲线有:bounce、easeInOut。CALayer动画暂不支持。 运动曲线...
阅读(220) 评论(0)

[置顶] 处理ipv6和内购(IAP)及掉单问题的正确姿势

本文来自简书,原文地址:http://www.jianshu.com/p/b7195675ffdd 最近开发一个项目涉及到内购, 也遇到过一些问题. 这里拿出来分享一下, 避免一些人走弯路. 开头先聊一聊最近苹果关于2017年新的审核机制和沸沸扬扬的微信和苹果的撕逼 1. 2017新的审核机制: ipv6: 使用国内阿里云的app上架, 大都会遇到ipv6被拒的邮件...
阅读(747) 评论(0)

[置顶] Swift 开发中,为什么要远离 Heap?

本文来自简书,原文地址:http://www.jianshu.com/p/aca50c5a9d64 WWDC的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack。所以大家在选择数据结构时,要尽量选择诸如结构体这种存储在 Stack 上的值数据类型,而不要选择像类这种存储在 Heap上的数据类型。问题是,相比...
阅读(363) 评论(0)

[置顶] iOS强大私有类UIDebuggingInformationOverlay(Apple隐藏的调试大招) 了解

本文来自简书,原文地址:http://www.jianshu.com/p/a228cafd418f 今天吃完饭,有点闲。就去逛逛某博,看看关注的大神们最近有何动态,能不能学到啥,其实就是去抱抱大腿。然后刷着刷着,眼前发光,UIDebuggingInformationOverlay出现在眼见,哇,这么厉害的东西我怎么没见过呢,说的我好像很厉害的样子,哈哈。夸张了,大家别信,我没见过很正常。 ...
阅读(1006) 评论(0)

[置顶] 从 JavaScript 作用域说开去

本文来自简书,原文地址:http://www.jianshu.com/p/9ecb728c5db9 目录 1.静态作用域与动态作用域2.变量的作用域3.JavaScript 中变量的作用域4.JavaScript 欺骗作用域5.JavaScript 执行上下文6.JavaScript 中的作用域链7.JavaScript 中的闭包8.JavaScript 中的模块 一. 静态作用...
阅读(287) 评论(0)

[置顶] UIButton(干货)--教你如何利用runtime自定义UIButton的titleLabel以及image的frame

本文来自简书,原文地址:http://www.jianshu.com/p/e5fdc00b8e31 最近做项目,会用到许多的类似美团首页button的效果,之前做法都是自定义view,view上添加button以及label来做出相同的效果,但是今天我教你极为简便的方法,只需要自定义button就能实现同一个bt上titleLabel与image互换! 想要的效果: ...
阅读(289) 评论(0)

[置顶] iOS开发之带你5分钟封装一个时间轴

Qinz 本文来自简书,原文地址:http://www.jianshu.com/p/bb6e9bf2bcc1 时间轴在一些app中用的场景还不少,原理实现起来较为简单,下面我们就来动手封装一个比较常用的时间轴,具体效果看下图: Qinz 1.首先我们创建一个UIView,在上面放一个tableView,声明一个方法,传递两个参数,第一个参数是需要将该时间轴放在哪...
阅读(840) 评论(0)

[置顶] Server-Side Swift系列 「Intro Vapor2」

Get started with Vapor 2 at docs.vapor.codes 近日,在Medium上看到Vapor出了2.0版本,并且出了新的文档,新的网站。于是忍不住试了一下,并且这次打算不在本地测试,想在Ubuntu系统上尝试。 Intro 通过学习这篇文章,你将学习到: 在阿里云和腾讯云上搭载Ubuntu云服务器在Ubuntu上配置Vapor2.0以及...
阅读(457) 评论(0)

[置顶] iOS设置导航栏navigationBar大小、颜色、透明度等一切操作(WRNavigationBar)

本文来自简书,原文地址:http://www.jianshu.com/p/540a7e6f7b40 0️⃣. Demo 基本.gif...
阅读(1197) 评论(0)

[置顶] iOS中实现一个支持小数的星星评分组件

在很多电商,外卖,餐饮型应用里,都会在商品结束后评价中有一个星星组件。核心思路就是用UIControl并自定义实现其中的trackTouch的几个方法。而显示不到一个的星星,比如半个星星的思路是根据分数切割星星的图像并显示其中一部分。实现后效果如下。 2017-05-21 19_12_04 单个星星的实现 对于单个星星的实现,先考虑星星有三个状态,完全置灰状态,完全高...
阅读(221) 评论(0)

[置顶] 基于 GPUImage2 图像合成视频的探索

转载请注明出处:http://posts.enumsblog.com/posts/17014 如果还有不知道「GPUImage」的请自觉面壁。 它被用 Swift 改写后,就变成了「GPUImage2」。 引言 最近业余时间在开发一款视频相关的 App,原本打算基于自己开源的计算机视觉库「EMCVLib」做,功能上基于OpenCV已做好了封装,但现在已经全部撤掉了。原因有两点: ...
阅读(471) 评论(0)

[置顶] 「iOS」行车服务app 「客户端、后端思路+代码」

最近开发了一个行车服务项目,iOS客户端采用Objective-C编写, 后端采用PHP搭建,部署在阿里云,操作系统为Linux CentOS 7.3,数据库MySQL,服务器为Apache,是比较基础的LAMP组合。iOS端代码部分我会讲述整体的开发思路,一些有意思的功能点也会详细说说。后端代码比较简单,想要自己尝试开发API的iOS开发者可以参考。发这篇文的主要目的是对最近的开发做一个...
阅读(1377) 评论(0)

[置顶] iOS中使用Fastlane实现自动化打包和发布

本文来自简书,原文地址:http://www.jianshu.com/p/192c09cc8e27 简介 Fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化打包、发布等工作,可以节省大量的时间。 Fastlane Github:https://github.com/fastlane/fastlane 官网:https://f...
阅读(361) 评论(0)

[置顶] JavaScript 新手的踩坑日记

本文来自简书,原文地址:http://www.jianshu.com/p/6280d0f12feb 引语 在1995年5月,Eich 大神在10天内就写出了第一个脚本语言的版本,JavaScript 的第一个代号是 Mocha,Marc Andreesen 起的这个名字。由于商标问题以及很多产品已经使用了 Live 的前缀,网景市场部将它改名为 LiveScript。在1995年11月...
阅读(443) 评论(0)

[置顶] FBKVOController详解

本文来自简书,原文地址:http://www.jianshu.com/p/1f7d70ff2002 前言 前段时间刚到公司,公司在使用FBKVOController,本人一直在使用系统的KVO,没有使用过Facebook的这个框架,使用起来挺方便的,所以安利一波,并且读读源码,本文只是略读,了解了FBKVOController的结构和基本实现,可能他的设计思想还没有深入理解,以后慢慢探...
阅读(182) 评论(0)

[置顶] iOS-夜间模式(换肤设置)

本文来自简书,原文地址:http://www.jianshu.com/p/c8e638e76e83 iOS 开发中有时候会有夜间模式(换肤设置)的需求, 其实主要是更改相关颜色操作! 思路:每次切换夜间/白天模式时,都会发出通知给所有ViewController,让它们切换到相应的主题。 创建一个管理模式主题的单例管理类ThemeManage封装好需要做夜间模式变...
阅读(229) 评论(0)

[置顶] TT--TTOtherPayManager(iOS微信和支付宝支付)

本文来自简书,原文地址:http://www.jianshu.com/p/8cbe1a5b6704 前言 针对iOS的支付,在之前,TTFrameWork仅仅写了关于苹果的内购AppPurchaseManager,这次的更新,我融入了关于第三方(支付宝和微信)支付,采用最简单的调用方式,一站式解决方案. 提醒 根据微信支付和阿里(支付宝)支付的官方SDK的说明,进行支付的签...
阅读(336) 评论(0)

[置顶] iOS自定义日期、时间、城市选择器

选择器,我想大家都不陌生,当需要用户去选择某些范围值内的一个固定值时,我们会采用选择器的方式。选择器可以直观的提示用户选择的值范围、统一信息的填写格式,同时也方便用户快速的进行选择,比如对于性别,正常情况下就只有男女两种情况,那这时候用一个选择器给用户进行选择的话,可以避免错误数据的输入,也更方便用户去填写。再比如需要获取用户的生日信息时,采用选择器的方式可以统一生日的格式,如果让用户自行输入的话...
阅读(258) 评论(0)

[置顶] 自学Swift3.0

本文来自简书,原文地址:http://www.jianshu.com/p/a09ce22ffc46# 我的经历可能和大部分专职做开发的程序员不一样,所以这份学习经过,也和网络上大部分基础教程不同,如果你刚好非科班出生,也有这个业余爱好,对于iOS编程也没有任何基本知识的了解,这份资料可能对你很有意思。 我自学过的唯一一门语言是Python,主要原因是:你去搜索0基础,学一门编程语言,很多地方都...
阅读(436) 评论(0)

[置顶] UIImage图片处理,旋转、截取、平铺、缩放等操作

本文来自简书原文地址:http://www.jianshu.com/p/9ab1205f5166 有时候我们需要处理图片,比如改变大小,旋转,截取等等,所以今天说一说图片处理相关的一些操作。 本文所说的方法都是写在UIImage的Category中,这样使用起来也方便;由于代码太多,这里就不贴具体实现代码了,大家可以去我的Github查看demo,效果如下: demo效果...
阅读(198) 评论(0)

[置顶] iOS 零耦合架构代码生成器

刚刚学习完SpriteKit的第一章, 项目的需求就压过来了, 诶, 时间都去哪啦, 接着之前的热修复架构, 这次为了更加好的进行代码规范, 我们将之间的架构模式进行模板代码生成, 这里会用到一些简单的python, 没接触过的同学们可以先去了解下, 今天我就将零耦合代码生成工具分享与你. 本文来自简书,原文地址:http://www.jianshu.com/p/47d565...
阅读(294) 评论(0)

[置顶] SRWebSocket源码浅析

本文来自简书,原文地址:http://www.jianshu.com/p/cdb7a886789a 一. 前言: WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——可以通俗的解释为服务器主动发送信息给客户端。区别于MQTT、XMPP等聊天的应用层协议,它是一个传输通讯协议。它有着自己一套连接握手,以及数据传输的规范。而本...
阅读(1549) 评论(0)

[置顶] Swift库二进制接口(ABI)兼容性研究

前言 阿里云APP组件化过程中,我们拆分出了若干基础组件库和业务代码库,由于代码是采用Swift编写的,所以这些库都是动态库形式。在上一个正式版本,组件化达到了完全形态,主工程只剩下一个壳,所有代码都以pod组件的形式引入,最后交付的是一个主工程的壳二进制程序,和十几个动态库Framework。这些动态库都是运行时才链接到主程序中的。 开发中,我们在某个组件上工作时,其他组件也都是以动...
阅读(562) 评论(0)

[置顶] 一劳永逸,iOS自定义ActionSheet封装流程

本文来自简书,原文地址:http://www.jianshu.com/p/cfb87a7db7b1 前言 本文为iOS自定义视图封装《一劳永逸》系列的第四期,旨在提供封装思路,结果固然重要,但理解过程才最好。授人以鱼不如授人以渔。️文章旨在帮助封装程度较低的朋友们,大神可无视勿喷。 历史文章链接列表: 一劳永逸,iOS引导蒙版封装流程一劳永逸,iOS网页视图控制器封装流程一劳永...
阅读(590) 评论(0)

[置顶] UITableView自动计算cell高度并缓存,再也不用管高度啦

本文来自简书,原文地址:http://www.jianshu.com/p/64f0e1557562 这篇文章我们来讲一下UITableView的cell自适应高度,以及遇到的问题的解决办法。在看文章之前希望你已经会UITableView的基本使用了。 先奉上这篇文章的demo的Github地址:UITableViewCellHeightDemo。大家可以下载下来和文章配合看。 c...
阅读(378) 评论(0)

[置顶] iOS小技巧总结,绝对有你想要的

本文来自简书,原文地址:http://www.jianshu.com/p/4523eafb4cd4 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0.1...
阅读(331) 评论(0)

[置顶] iOS静态库SDK制作(包含第三方静态库)

本文来自简书,原文地址:http://www.jianshu.com/p/155a3cfb765e 前言 以下所涉及的框架和库只针对iOS而言,不确保在其他平台也适用。 最近由于公司业务需要,要求封装一个支付SDK,需要用到微信支付和支付宝,之前做过的Framework没有依赖其他第三方的库所以比较好做,这次有所不同;一开始我想把支付宝和微信支付的SDK全部融合进来,折腾...
阅读(773) 评论(0)

[置顶] iOS开发者的Weex伪最佳实践指北

本文来自简书,原文地址:http://www.jianshu.com/p/43adc80ab60b 引子 这篇文章是笔者近期关于Weex在iOS端的一些研究和实践心得,和大家一起分享分享,也算是对学习成果的总结。文章里面提到的做法也许不是最佳实践,也许里面的方法称不算是一份标准的指南手册,所以标题就只好叫“伪最佳实践指北”了。有更好的方法欢迎大家一起留言讨论,一起学习。 由于笔者...
阅读(488) 评论(0)

[置顶] TimLiu-iOS

TimLiu-iOS Test Status Language Swift版本点击这里 本文来自简书,原文地址:http://www.jianshu.com/p/aa0650677002 github排名 https://github.com/trending,github搜索:https://github.com/search 使用方法:根...
阅读(799) 评论(0)

[置顶] iOS仿网易新闻、新浪新闻的新闻客户端

本文来自简书,原文地址:http://www.jianshu.com/p/1172711c0761 之前做了一个仿照网易新闻、新浪新闻之类的新闻类app。demo地址github 实现新闻浏览,视频播放,抓取百度图片,瀑布流显示,自定义视频播放,横屏竖屏切换自如,设置界面优化,第三方登录以及注销,新闻数据以及图片的收藏与分享。 Demo扫码安装 image ipa...
阅读(466) 评论(0)

[置顶] iOS - Runtime 细致分析及具体运用

本文来自简书,原文地址:http://www.jianshu.com/p/c6cfe9f9972c 前言   运行时可以说是 Objective-C 这门语言的一个核心部分,看了许多博客,也反反复复看了多次源码(苹果开源的runtime源码),对于这方面研究的文章博客也比较多,有必要写这么一篇文章吗?质疑过!因为技术性文章雷同性无法避免的。同事的一句话让我觉得有必要,对技术怀有敬畏之心...
阅读(238) 评论(0)

[置顶] 可以免费自学编程的12个网站

编程学习 本文来自简书,原文地址:http://www.jianshu.com/p/9f094ce31075 很多人包括一些企业家,和市场营销人员都认为学习编程对一个人走向成功十分有帮助。在过去的一年里,我一直在学习编程。它有助我成为一个更好的创业者,我甚至可以提供一些帮助,当我的团队需要解决一些bug的时候。 现在,如果你想学编程的话,这12个网站可以帮助你,它们都提供了免...
阅读(168) 评论(0)

[置顶] 关于内存泄漏,还有哪些是你不知道的?

本文来自简书,原文地址: 前言 好久没写东西了,因为最近懒了些,且找不到什么好的题材,所以准备对内存泄漏的问题做一篇整理。内存泄漏问题一直是项目开发中的一大问题,本文力求帮助从事过一段时间工作的iOS开发者快速寻找App中的内存泄漏问题。部分内容比较基础,大神可无视勿喷。 一、从AFNet说起 对于iOS开发者,网络请求类AFNetWorking是再熟悉不过了,对于AFNe...
阅读(216) 评论(0)

[置顶] Weex 中别具匠心的 JS Framework

前言 Weex为了提高Native的极致性能,做了很多优化的工作 为了达到所有页面在用户端达到秒开,也就是网络(JS Bundle下载)和首屏渲染(展现在用户第一屏的渲染时间)时间和小于1s。 手淘团队在对Weex进行性能优化时,遇到了很多问题和挑战: JS Bundle下载慢,压缩后60k左右大小的JS Bundle,在全网环境下,平均下载速度大于800ms(...
阅读(861) 评论(0)

[置顶] iOS手指涂抹位置变马赛克的实现

本文来自简书,原文地址:http://www.jianshu.com/p/e4bebae1b36f 本文简单介绍下实现手指涂抹的位置变成马赛克的效果。 其实原理比较简单,和刮刮卡效果的原理差不多。放两张bounds相同的图片叠加在一起。顶部的图片为原图,底部的图片为原图处理后的马赛克图片。 1)创建一个ScratchCardView的类,这里借用一下前人写过刮刮卡demo的一个类HYSc...
阅读(232) 评论(0)

[置顶] iOS 使用CIDetector扫描相册二维码、原生扫描

本文来自简书,原文地址:http://www.jianshu.com/p/98acd7f943c1 前言 早上使用微信的时候,突然想到以前在项目中集成扫码功能,当时没有从相册中扫描二维码的需求,加上需要向下兼容,于是选择集成了zbar扫描。今天我们就来看一下如何实现从相册中扫码、以及原生扫描。 原生扫描 iOS7之后,AVFoundation让我们终于可以使...
阅读(466) 评论(0)

[置顶] 一款更Q的通知图标组件

本文来自简书,原文地址:http://www.jianshu.com/p/56051eca3235 “一闪一闪亮晶晶,满天都是小星星”,作为一枚ios开发程序猿,最大的兴奋莫过于看着模拟器实现了自己想要的效果。 废话不多说,进入今天的主题,今天给大家带来了一个开发中常用的通知图标组件,相信你会喜欢的。 先看下效果图 badge.gif 当看到Blink A...
阅读(586) 评论(0)

[置顶] 更好用的仿微信、QQ弹框控件

本文来自简书,原文地址:http://www.jianshu.com/p/f057a2250c68 先上效果图 Untitled.gif 前些时间在项目开发中用到这个带箭头的弹出框功能,为了开发进度,就随便在gitHub上找了个轮子使用了,也能实现我想要的功能,但是就是感觉不是想要的那种封装方式,使用起来比较麻烦,能不能像使用系统框架UIMenuController那...
阅读(256) 评论(0)

[置顶] VR、RTMP播放器SGPlayer原理详解

本文来自简书,原文地址:http://www.jianshu.com/p/0b3f886b6be0 简介 SGPlayer 是一款基于 AVPlayer、FFmpeg 的媒体资源播放器框架。支持全景视频,RTMP、RTSP 等直播流;同时支持 iOS、macOS、tvOS 三个平台。本文将采用图解+说明的方式把关键模块的实现原理介绍给大家。 项目地址:GitHub - SGPla...
阅读(313) 评论(0)

[置顶] 如何让 Xcode 在读写上提速100倍?

本文来自简书,原文地址:http://www.jianshu.com/p/5861beb5bb75 上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,匠心独运,极客风十足。以下是他的经验分...
阅读(611) 评论(0)

[置顶] 让CoreData更简单些

本文来自简书,原文地址:http://www.jianshu.com/p/78f6fe1eff07 前言 本文并不是CoreData从入门到精通之类的教程, 并不会涉及到过多的原理概念描述, 而是介绍如何让CoreData的使用变得更加简单明了, 方便亲民. 全文约六千字, 预计花费阅读时间15分钟. 目录 这是什么以及如何使用原理概述实现细节: 单表的增删改查实现细节: ...
阅读(523) 评论(0)

[置顶] 自己动手做一个上传JSPatch补丁代码的Mac应用

本文来自简书,原文地址:http://www.jianshu.com/p/efb4bbe72f64 卷首语:自己动手做 JSPatch 补丁代码的上传下发,补丁代码采用 RSA非对称加密 ,安全性有保障。操作简单,只需要将文件拖进来即可。并且无接入数限制,永久免费! 接上篇文章,我们讲述了如何混淆JSPatch框架,以绕过苹果的检测。那么不可避免的我们就要面对一个问题,那就是自己做补丁...
阅读(466) 评论(0)

[置顶] AFNetworking(v3.0+)框架学习总结(三框架基本使用)

本文来自简书,原文地址:http://www.jianshu.com/p/228b4b37093e Write in the first【写在最前】 AFNetWorking 基本是iOS开发中使用网络通信框架的标配,这个框架本身比较庞大,也很复杂,但是使用起来非常非常简单。 在对【AFN 框架学习总结(一)|(二)】上两篇文章学习理解的基础上, 本篇文章主要从【AFN...
阅读(405) 评论(0)

[置顶] AFNetworking(v3.0+)框架学习总结(二内部逻辑处理过程)

本文来自简书,原文地址:http://www.jianshu.com/p/4f1818568bc4 Write in the first【写在最前】 AFNetWorking 基本是iOS开发中使用网络通信框架的标配,这个框架本身比较庞大,也很复杂,但是使用起来非常非常简单。 本篇文章主要从【AFN 内部逻辑处理过程】以Get请求为例,学习总结, 时间有限,知识并未全覆盖,...
阅读(463) 评论(0)

[置顶] AFNetworking(v3.1.0)框架学习总结(一框架结构)

本文来自简书,原文地址:http://www.jianshu.com/p/ee34914f5f3d Write In Frist:在这严肃...
阅读(398) 评论(0)

[置顶] iOS开发--TTFramework

本文来自简书,原文地址:http://www.jianshu.com/p/0bd0ec075409 初衷 接触iOS开发已经有一年多的时间了,在这一年多的时间里,学到了很多,现在依照自己日常开发总结了一套自己的Framework,相关的项目已经上传到Github,,这篇文章会面针对TTFrameWork中的结构进行相关的说明. TTFramework 一. TTShare ...
阅读(232) 评论(0)

[置顶] 详解 NSURLSession

本文翻译自 NSURLSession Tutorial: Getting Started 本文来自简书,原文地址:http://www.jianshu.com/p/158e2a8c545e 学习如何用 NSURLSession 实现 HTTP 数据请求和文件下载! App 无论是从服务器拉取应用数据,还是更新社交媒体状态或是下载远程文件到硬盘里,都是 HTTP 网...
阅读(703) 评论(2)

[置顶] Weex 事件传递的那些事儿

前言 在前两篇文章里面分别谈了Weex如何在Native端初始化的和Weex是如何高效的渲染Native的原生UI的。Native这边还缺一块,那就是Native产生的一些事件,是怎么传回给JS的。这篇文章就详细分析这一部分。 目录 1.Weex的事件类型2.Weex的事件传递 一.Weex的事件类型 在Weex中,目前最新版本中事件总共分为4种类型,通用事件,Appear...
阅读(1192) 评论(0)

[置顶] 用两张图告诉你,为什么你的App会卡顿?

Cover 本文来自简书,原文地址:http://www.jianshu.com/p/df4d5ec779c8 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么?知道Android究竟是如何在屏幕上显示我们期望的画面的?对Android的视图架构有整体把握。学会从根源处分析画面卡顿的原因。掌握如何编写一个流畅的App的技巧。从源码...
阅读(299) 评论(0)

[置顶] 高仿美团客户端 React-Native版,支持iOS、Android

本文来自简书,原文地址:http://www.jianshu.com/p/9211f42d5c25 美团客户端 支持: Android 4.1 (API 16)+ IOS(8.0+) Github:https://github.com/huanxsd/MeiTuan iOS截图 iOS_0.png iOS_1.png iOS_2...
阅读(271) 评论(0)

[置顶] iOS时间格式化输出技巧

时间格式化输出 本文来自简书,原文地址:http://www.jianshu.com/p/8f68fe8be4f4 一.前言 最近项目开发过程中用到了大量的关于时间的处理,将后台返回的时间字符串转换为指定的格式时间再显示在UI上. 例如: 将后台返回的时间字符串2017-04-16 13:08:06转换为:2017年04月16日、2017年04月、04月16日、2017-0...
阅读(301) 评论(0)

[置顶] NetworkStateView:界面多状态加载

本文来自简书,原文地址:http://www.jianshu.com/p/858d41972d15 在项目中经常需要进行不同状态的加载,例如在网络请求时的加载中状态,加载失败状态,没有网络状态和没有数据的状态等,之前在项目中的做法是把几个不同的状态布局都添加到需要进行状态切换的Activity或Fragment的布局文件当中,接着再对每一个状态界面进行相应的隐藏显示,但是在界面一多的情况下,...
阅读(269) 评论(0)

[置顶] iOS开源项目二

由OpenDigg 出品的iOS开源项目周报第十五期来啦。我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等。 本文来自简书,原文地址:http://www.jianshu.com/p/76ca6d7386ab Tangram-iOS 阿里Native界面解决方案 Magnetic 仿Appl...
阅读(207) 评论(0)

[置顶] iOS开源项目

由OpenDigg 出品的iOS开源项目月报第一期来啦。我们的iOS开源月报集合了OpenDigg一个月来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等。 本文来自简书,原文地址:http://www.jianshu.com/p/614f49e24cb7 Transition 构建iOS视图控制器转换的库 CHIPageControl 炫酷...
阅读(552) 评论(0)

[置顶] iOS开发-你真的会用SDWebImage?

SDWebImage作为目前最受欢迎的图片下载第三方框架,使用率很高。但是你真的会用吗?本文接下来将通过例子分析如何合理使用SDWebImage。 使用场景:自定义的UITableViewCell上有图片需要显示,要求网络网络状态为WiFi时,显示图片高清图;网络状态为蜂窝移动网络时,显示图片缩略图。如下图样例: 本文来自简书,原文地址:http://www.jianshu.com/p/d...
阅读(287) 评论(0)

[置顶] 史上最全的iOS各种设备信息获取总结

为了统计用户信息、下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息的获取方式: 点击下载以上展示效果的GitHub源码 一行代码就搞定的统一来!本文来自简书,原文地址:http://www.jianshu.com/p/b23016bb97af // 这个方法后面会列出来 NSString *device...
阅读(324) 评论(0)

[置顶] iOS UIKit框架注解

本文来自简书,原文地址:http://www.jianshu.com/p/e5b995ecf44d 导语 我们追求技术的提升,关注技术的发展历程;作为从事技术工作的伐码猿,有个想法(仅是个人想法),这个想法工程量之大(遇到,用到,最新技术点,点点积累,及时补充吧),从事技术多年也算是对所花费时间的一个总结(算是对技术这块的一个目标吧)。 这篇文章的内容仅是【UIKit框架 各...
阅读(1095) 评论(0)

[置顶] 《iOS进阶指南》试读之《Mantle解析》

本文转自简书,原文地址:http://www.jianshu.com/p/f49ddbf8a2ea Mantle 阅读一个库的源码,首先要知道,我们为什么需要这一类的库。 Mantle的目的 Mantle 的诞生是为了更方便的将服务端返回的数据映射为我们的 Model。 简单来说,我们在写 app 的时候,经常需要把服务端返回的数据和我们自己创建 model 关联起来,这...
阅读(370) 评论(0)

[置顶] 一篇文章帮你彻底了解 Swift 3.1 的新内容

本文翻译自 What’s New in Swift 3.1? 好消息好消息:Xcode 8.3 和 Swift 3.1 正式版的发布包含了等待已久的 Swift 包管理器 功能,以及对语言本身的改进。 如果你没有一直密切关注 Swift Evolution Process ,那这篇文章就是为你准备的! 本文会强调 Swift 3.1 中最重大的变动,这将对我们...
阅读(285) 评论(0)

[置顶] 【iOS 开发】iOS 10.3 如何更换 app 图标

本文来自简书,原文地址:http://www.jianshu.com/p/f6f328123923 iOS 10.3 开放了更换 app 图标的 API,核心方法是下面这个: func setAlternateIconName(_ alternateIconName: String?, completionHandler: ((Error?) -> Void)? = nil) ...
阅读(489) 评论(0)

[置顶] iOS高可控性日历基础组件-SKCalendarView的使用和实现思路的分享

本文来自简书,原文地址:http://www.jianshu.com/p/ce4c64a4d437 简述 SKCalendarView是一个高可控性的日历基础组件,为了提高应用的自由度,默认只提供了日历部分的视图封装,但不涵盖切换月份按钮、年月分显示等非关键性控件,但请不要担心,SKCalendarView为你提供了多样性的API,你可以很轻松的拿到这些信息去展示在你自己的自定义控件中...
阅读(394) 评论(0)

[置顶] Android App优化之网络优化

internet 本文来自简书,原文地址:http://www.jianshu.com/p/d4c2c62ffc35 引言 背景:Android App优化, 要怎么做?Android App优化之性能分析工具Android App优化之提升你的App启动速度之理论基础Android App优化之提升你的App启动速度之实例挑战Android App优化之Layout怎么摆And...
阅读(261) 评论(0)

[置顶] React Native优秀的第三方插件(Android & iOS)

本文来自简书,原文地址:http://www.jianshu.com/p/4fbb36915d7f 1.https://github.com/aroth/react-native-uploader 文件上传 图片.gif 2.https://github.com/oblador/react-native-animatable 动画 图片.gif ...
阅读(709) 评论(0)

[置顶] 由FlexBox算法强力驱动的Weex布局引擎

前言 在上篇文章里面谈了Weex在iOS客户端工作的基本流程。这篇文章将会详细的分析Weex是如何高性能的布局原生界面的,之后还会与现有的布局方法进行对比,看看Weex的布局性能究竟如何。 目录 1.Weex布局算法2.Weex布局算法性能分析3.Weex是如何布局原生界面的 一. Weex布局算法 打开Weex的源码的Layout文件夹,就会看到两个c的文件,这两个...
阅读(791) 评论(0)

[置顶] [iOS]如何重新架构 JPVideoPlayer ?

本文来自简书,原文地址:http://www.jianshu.com/p/66638bdfd537 注意:此文为配合 JPVideoPlayer version 2.0 版本发布而写,如果你想了解 2.0 版本的更新内容和所有实现细节,请点击前往 GitHub。 导言:我几个月前写了一个在 UITableView 中滑动 UITableViewCell 播放视频的框架,类似于“...
阅读(267) 评论(0)

[置顶] Weex 是如何在 iOS 客户端上跑起来的

本文来自简书,原文地址:http://www.jianshu.com/p/41cde2c62b81 前言 2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请。Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。 近一年来,ReactNative 和 ...
阅读(1165) 评论(0)

[置顶] 自定义视频播放器与慢放滚轮

受同学之邀,帮忙自定义一控件。需求是:开发慢放滚轮,用手指拨动实现帧级的慢速播放,滚轮可双向拨动,其滚动具有惯性,滚动速度决定视频播放的速度。需求很明朗,可我却是一头雾水。说实话,在此之前我还没有自定义过视频播放器,不懂怎么实现‘帧级慢速播放’。并且滚轮这个东西自定义起来,我也是没谱的。越是自己觉得陌生的东西,越是想办法回避,想着挑战一下自己,就尝试着做了起来。 本文来自简书,原文地址:...
阅读(388) 评论(0)

[置顶] 深入浅出 JavaScriptCore

本文由我们团队的 纠结伦 童鞋撰写。 本文来自简书,原文地址:http://www.jianshu.com/p/ac534f508fb0 写在前面 本篇文章是对我一次组内分享的整理,大部分图片都是直接从keynote上截图下来的,本来有很多炫酷动效的,看博客的话就全靠脑补了,多图预警 :) 概览 JavaScriptCore 简介Objective-C 与 J...
阅读(341) 评论(0)

[置顶] iOS-本地私有库和远程私有库.其实并不难

本文来自简书,原文地址:http://www.jianshu.com/p/0b6299f80bbd 私有库的介绍 为什么要学习私有库? 因为随着项目代码的体积不断增加,为了更好的管理项目,我们需要借助CocoaPods版本管理工具对原有项目进行拆分,然后创建对应的私有库进行保存 什么是本地私有库?什么是远程私有库呢? 举个例子: 本地私有库就是你将钱(代码),放在身上...
阅读(417) 评论(0)

[置顶] iOS事件响应链中Hit-Test View的应用

本文来自简书,原文地址:http://www.jianshu.com/p/d8512dff2b3e 最近又看了遍苹果的官方文档《Event Handling Guide for iOS》,对事件响应链中的hit-test view 又多了些理解,个人觉的官方文档对这块讲的非常简单,很多东西都是点到为止,hit-test view的知识在项目的任何地方都用到了,但自己反而感知不到,接下来我...
阅读(412) 评论(0)

[置顶] iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t

第一次写文章语言表达能力太差。如果有哪里表达的不够清晰可以直接评论回复我,我来加以修改。这篇文章力求脱离语言的特性,咱们多讲结构和算法。即使你不懂iOS开发,不懂Objective-C语言也可以看这篇文章。     通过阅读本文你可以了解iOS管理对象内存的数据结构是什么样的,以及操作逻辑。对象的reatin、release、dealloc操作是该通过怎样的算法实现的,weak指针是如何自动变n...
阅读(629) 评论(0)

[置顶] SQLite3以及FMDB的简单实用

本文来自简书,原文地址:http://www.jianshu.com/p/897733b577f3 SQLite SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。同时它的处理速度也是非常快速的。 因为在iOS中SQLite3依赖于系统提供的libsqlite.tbd这个类库,所以在使用之前首先我们需要导入这个类库; 打...
阅读(417) 评论(0)

[置顶] GCD线程间通信及合成图片、获取验证码

本文来自简书,原文地址:http://www.jianshu.com/p/4ac227e763fa GCD Grand Central Dispatch (GCD) 是 Apple 开发的一个多核编程的解决方法。该方法在 Mac OS X 10.6 雪豹中首次推出,并随后被引入到了 iOS4.0 中。GCD 是一个替代诸如 NSThread, NSOperationQueue, NSI...
阅读(247) 评论(0)

[置顶] iOS 利用 NEHotspotHelper 获取 WiFi 列表

iOS 9 发布之后,苹果推出了 NetworkExtension,利用这个框架可以实现很多和网络相关的操作。本文主要介绍怎样使用其中的 NEHotspotHelper 进行设备 WiFi 列表的获取。 Demo 地址:https://github.com/EyreFree/EFNEHotspotHelperDemo 一. 注意事项 首先,NEHotspotHelper 只在 i...
阅读(1535) 评论(0)

[置顶] App Store 狠抓精神文明建设,JSPatch要亡了?

本文来自简书,原文地址:http://www.jianshu.com/p/39af67a58355 据悉,近日美国苹果公司响应党的号召,为了实现了社区文明和谐,各项事业全面发展,狠抓精神文明建设。将形成组织领导、定期引导、精准对标、适时检查、总结提高等五项机制,确保创建工作规范化、科学化、常态化。 ---来自老司机的前线报道 事情的主要起因在 App Store Review ...
阅读(425) 评论(0)

[置顶] 【iOS】Masonry和FDTemplateLayoutCell搭配使用「UITableview自适应内容高度」

本文来自尚妆iOS团队嘉文 发表于尚妆github博客,欢迎订阅! 准备: 1.FDTemplateLayoutCell 由sunny大神出品的自动计算UITableviewCell高度 FDTemplateLayoutCell_下载 FDTemplateLayoutCell UITableView-FDTemplateLayoutCell...
阅读(319) 评论(0)

[置顶] iOS下音视频通信的实现-基于WebRTC

本文来自简书,原文地址:http://www.jianshu.com/p/c49da1d93df4 前言: WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术。 它为我们提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:window...
阅读(625) 评论(1)

[置顶] 杂谈: MVC/MVP/MVVM

本文来自简书,原文地址:http://www.jianshu.com/p/eedbc820d40a 前言 本文为回答一位朋友关于MVC/MVP/MVVM架构方面的疑问所写, 旨在介绍iOS下MVC/MVP/MVVM三种架构的设计思路以及各自的优缺点. 全文约五千字, 预计花费阅读时间20 - 30分钟. MVC MVC的相关概念 MVC最早存在于桌面程序中的, M是指业务...
阅读(203) 评论(0)

[置顶] 如何优雅地使用 KVO

本文来自简书,原文地址:http://www.jianshu.com/p/4c0c36b88db6 KVO 作为 iOS 中一种强大并且有效的机制,为 iOS 开发者们提供了很多的便利;我们可以使用 KVO 来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双向绑定时提供大量的帮助。 但是在大多数情况下,除非遇到不用 KVO 无法解决的问题,笔...
阅读(330) 评论(0)

[置顶] BeeHive —— 一个优雅但还在完善中的解耦框架

本文来自简书,原文地址:http://www.jianshu.com/p/24f6299ebe82 前言 BeeHive是阿里巴巴公司开源的一个iOS框架,这个框架是App模块化编程的框架一种实现方案,吸收了Spring框架Service的理念来实现模块间的API解耦。 BeeHive这个名字灵感来源于蜂窝。蜂窝是世界上高度模块化的工程结构,六边形的设计能带来无限扩张的可能。所以...
阅读(283) 评论(0)

[置顶] OpenGL ES入门09-GLSL实现常见特效

本文转自简书,原文地址http://www.jianshu.com/p/e4a8c83cd373 前言 本文是关于OpenGL ES的系统性学习过程,记录了自己在学习OpenGL ES时的收获。 这篇文章的目标是用OpenGL ES 2.0实现常见的特效。 环境是Xcode8.1+OpenGL ES 2.0 目前代码已经放到github上面,OpenGL ES入门09-GLSL实...
阅读(796) 评论(0)

[置顶] iOS数据安全—加密解密「学习总结」

本文来自简书,原文地址:http://www.jianshu.com/p/1a7d57b60778 写在前面 在写项目中,数据的安全性至关重要,而仅仅用 POST 请求提交用户的隐私数据,还是不能完全解决安全问题。因此:我们经常会用到加密技术,比如说在登录的时候,我们会先把密码用MD5加密再传输给服务器 或者 直接对所有的参数进行加密再POST到服务器。 记得最初接触加密,也不懂,就根据...
阅读(581) 评论(0)

[置顶] 动画实战:自定义提醒控件AlertView

自定义提醒控件AlertView.png 本文转自简书,原文地址:http://www.jianshu.com/p/d60dc6bbe537 前言 本文是文章上手CAShapeLayer,动画其实并不难 的实战,用到的知识有CAShapeLayer、UIBezierPath和CABasicAnimation。如果对这些类不大了解,可先去基础篇看看。 正文 一、效果展示...
阅读(237) 评论(0)

[置顶] ReactiveCocoa 中 奇妙无比的“宏”魔法

本文来自简书,原文地址:http://www.jianshu.com/p/4c5613e256c8 前言 在ReactiveCocoa 中,开源库作者为我们提供了很多种魔法,“黑”魔法,“红”魔法……今天就让先来看看“红”魔法。 在ReactiveCocoa 中,封装了很多非常实用的“宏”,使用这些“宏”为我们开发带来了很多的便利。 今天就来盘点一下RAC中的宏...
阅读(462) 评论(0)

[置顶] RunLoop知识点总结

RunLoop是多线程的难点. 在实际开发中我们如何使用RunLoop呢? 且容我一一道来, 不当之处, 敬请斧正. 先浏览一下RunLoop知识点的大致框架, 这也是本文即将要说明的: RunLoop知识点的大致框架 RunLoop的概念和作用 RunLoop被称为运行循环, 你可以把RunLoop理解为一个死循环, 看一下CFRunLoop的源码就知道了:...
阅读(292) 评论(0)

[置顶] RunLoop入门 看我就够了

本文来自简书,原文地址:http://www.jianshu.com/p/2d3c8e084205 前言 刚刚听到RunLoop的时候我也是一脸懵逼,这是什么,有什么用呢,逼格貌似还挺高。然后就开始尝试去搞懂它,去找博客,但是几乎所有的博客都是枯燥乏味的,都是讲概念,然后给个实例,对于我这个小白来说,根本看不懂好吗!! 下面放几个比较好的讲解RunLoop的博客 http://ww...
阅读(292) 评论(0)

[置顶] iOS查看屏幕帧数工具--YYFPSLabel

本文来自简书,原文地址:http://www.jianshu.com/p/878bfd38666d 学习 YYKit 代码时,发现 ibireme 在项目里加入的一个查看当前屏幕帧数的小工具,效果如下: 挺实用的,实现方法也很简单,但是思路特别棒。 这里是Demo: YYFPSLabel 这里我把这个小工具从 YYKit 中抽出来,在学习大牛的代码的过程中,收货...
阅读(1364) 评论(0)

[置顶] 移动端监控体系之技术原理剖析

本文转自简书,原文地址:http://www.jianshu.com/p/8123fc17fe0e 在这样一个注重用户体验的时代,APM 技术快速发展,国内更是百花齐放,最近对各个公司的 APM 产品有一个调研,并在此基础上进行了自己的实践。这里就从 iOS 的角度出发,谈谈自己对移动端 APM 的技术上的理解,并提供相对应的实例。 何为 APM APM 的全称是Applic...
阅读(207) 评论(0)

[置顶] 『可变』的热信号 RACSubject

本文来自简书,原文地址:http://www.jianshu.com/p/95bd803624f7 在 ReactiveCocoa 中除了不可变的信号 RACSignal,也有用于桥接非 RAC 代码到 ReactiveCocoa 世界的『可变』信号 RACSubject。 “Mutable” RACSignal — RACSubject RACSubject 到...
阅读(147) 评论(0)

[置顶] iOS 组件化 —— 路由设计思路分析

本文来自简书,原文地址:http://www.jianshu.com/p/76da56b3bd55 前言 随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。 但是用户依旧不满意,继续对开发人员提出了更多更高...
阅读(1406) 评论(0)

[置顶] Load 方法 暨 程序的加载顺序

本文来自简书,原文地址:http://www.jianshu.com/p/8f14c7a33579 前言 众所周知,App 的入口是 main 函数,而在此之前,我们了解到的是系统会自动调用 load 方法。而且是先调用父类的,再是自己的,最后才是分类的。而为什么是这样呢,不清楚。 下面所有的 load 方法, 都指 + (void)load {} 方法。 入口 借助...
阅读(184) 评论(0)

[置顶] 史上最全IT技能学习大全公众号

技术类 iOS开发精髓 「iOS开发精髓」是收集分享的含金量比较重的一些好的关于iOS开发的文章,在这里你可以学到你很多不会的知识点。 微信号:iOS_WIN 程序员的那些事 「程序员的那些事」是最受欢迎的程序员、IT 技术和 IT 行业相关的微信公众号之一,分享 IT 技术资讯、经典文章和书籍、热门课程、高薪职位、职场和趣文,传播极客精神,更有难...
阅读(851) 评论(0)

[置顶] 一步一步构建你的iOS网络层 - HTTP篇

本文来自简书,原文地址:http://www.jianshu.com/p/f9b4ada163ab 缘起 经常跑步的人一定知道, 每次跑步时间过了15分钟以后, 脑子里通常就开始出现: 青楼花坊, 白衣神王, 世界未亡, 誓不投降之类的中二遐想. 然而年假过后, 这些想法却突然销声匿迹, 一些iOS知识点和往期项目经验却开始浮上心头, 莫名其妙居然自己排列组合出了七八篇文章. 这些奇怪...
阅读(396) 评论(1)

[置顶] FMDB 使用方法

优秀的第三方库,README 也是很优秀的,理解了 README,会对使用带来很多便利。 本文来自简书,原文地址:http://www.jianshu.com/p/d60ee3c85d63 ARC 和 MRC 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。 使用 在 FMDB 中有三个重要的类: FMDat...
阅读(713) 评论(0)

[置顶] PNChart源码解析

本文来自简书,原文地址:http://www.jianshu.com/p/7523fa5805e1 一. 框架介绍 PNChart是国内开发者开发的iOS图表框架,现在已经7900多颗star了。它涵盖了折线图,饼图,散点图等图表。图表的可定制性很高,而且UI设计简洁大方。 该框架分为两层:视图层和数据层。视图层里有两层继承关系,第一层是所有类型图表的父类PNGenericCha...
阅读(586) 评论(0)

[置顶] ReactiveCocoa 中 奇妙无比的“宏”魔法

本文来源于简书,原文地址:http://www.jianshu.com/p/4c5613e256c8 前言 在ReactiveCocoa 中,开源库作者为我们提供了很多种魔法,“黑”魔法,“红”魔法……今天就让先来看看“红”魔法。 在ReactiveCocoa 中,封装了很多非常实用的“宏”,使用这些“宏”为我们开发带来了很多的便利。 今天就来盘点一下RAC中的...
阅读(268) 评论(0)

[置顶] Android性能优化的方方面面

本文来自简书,原文地址:http://www.jianshu.com/p/b3b09fa29f65 通常项目比较大的APP都面临着如下性能问题,APP启动慢、界面跳转慢、事件相应慢、滑动和动画卡顿、展现内容慢等,有的公司处理的很好,有的还有很大的优化空间,对于性能优化,怎么去做,我总结了一下性能优化如何入手,Android性能优化这个系列目前已经完成11篇,涉及到常用内存优化工具的使用,比如...
阅读(186) 评论(0)

[置顶] ProtocolBuffer for Objective-C 运行环境配置及使用

本文来自简书原文地址:http://www.jianshu.com/p/8c6c009bc500 一 、前言 最近要做一个新的项目需要用到Google的Protocol Buffer,所以最近两天一直在学习这个。在网上看了很多人写的相关博客,发现他们写的配置环境的步骤不尽相同,并且不需要那么复杂,所以就想写一篇最新的文章。 配置环境:mac OS 10.11.1 本文若有叙述错误之处,...
阅读(119) 评论(0)

[置顶] iOS开发实战-上架AppStore 通过内购和广告获得收益

本文转自简书原文地址:http://www.jianshu.com/p/2776c6247483 写在前面 由于一些原因需要离职,准备重回大上海 忽然发现手头上也没什么独立App,那就随便写个放到AppStore上吧,凑个数吧。哈哈哈。 这个App是无聊找配色的时候看到的一套图 协调色-红0001.jpg 正好春节在家没什么特别的事,编码用了...
阅读(475) 评论(0)

[置顶] ios引导页简单易用(可满足一般设计的需求)

基本上每个app都有引导页,虽然现在这种demo已经比比皆是,但感觉都不全,所以自己整理了一个,只需要传入图片,就可以正常加载出来。由于UIPageControl的小圆点大小和颜色经常与UI设计的不相符,所以后面也会提到重写类方法,进行修改。 先看下效果(图片是在网上随便找的) Untitled.gif 把指导页图片传入guideImages中 - (BOO...
阅读(414) 评论(0)

[置顶] 仿Uber筛选栏

项目截图 项目截图 本文来自简书,原文地址:http://www.jianshu.com/p/90e24151a7bf 这个是之前项目中用的,现在要改了,改之前把这个记录下来,万一有人用到了,就可以直接拿来用了,这个是在大神的基础上改的,还行吧,但是觉得有点丑!有需要的可以看一下,方法有点笨,大神勿喷!!!! 1.加载数据 * 加载数据 */ - (vo...
阅读(144) 评论(0)

[置顶] 写一个iOS复杂表单的正确姿势

本文来自简书,原文地址:http://www.jianshu.com/p/4a3aad22f356 前言 这几天项目的新需求中有个复杂的表单界面,在做的过程中发现要比想象中复杂很多,有好多问题需要处理。有很多东西值得写下来好好梳理下。 需求分析: 6创建网店1.png 上图便是UI根据需求给的高保真, 我们先根据这张图片来描述一下具体需求,明确一下...
阅读(1332) 评论(0)

[置顶] 33 个 2017 年必须了解的 iOS 开源库

本文翻译自Medium,原作者为 Paweł Białecki 照片版权:(Unsplash/Markus Pe) 你好,iOS 开发者们!我的名字叫 Paweł,我是一个独立 iOS 开发者,并且是 Enter Universe 的作者。 接近两年前我发布了 27 个iOS开源库,让你的开发坐上火箭吧。这是我在这里最棒的文章了(根据 Medium 用户的反馈...
阅读(336) 评论(0)

[置顶] iOS即时通讯进阶 - CoacoaAsyncSocket源码解析(Connect篇)

前言: 本文来自简书,原文地址:http://www.jianshu.com/p/0a11b2d0f4ae CoacoaAsyncSocket是谷歌的开发者,基于BSD-Socket写的一个IM框架,它给Mac和iOS提供了易于使用的、强大的异步套接字库,向上封装出简单易用OC接口。省去了我们面向Socket以及数据流Stream等繁琐复杂的编程。 本文为一个系列,旨在让大家了解Co...
阅读(369) 评论(1)

[置顶] unity3D与iOS原生工程项目合并以及合并过程中的问题

本文来自简书,原文地址:http://www.jianshu.com/p/f98bcfe09dc7 由于公司项目的需要,需要将unity3D工程跟原生工程合并, 所以不得不接触unity3D, 本文是将unity3D导出的iOS代码移植到Xcode本地建的工程中, 上代码: 首先,总体来说,总的步骤分为两大块, 第一,你需要从unity3D中导出Xcode第二,你需要将导出的iOS代码...
阅读(1585) 评论(1)

[置顶] 史上最详细的iOS之事件的传递和响应机制-原理篇

前言: 按照时间顺序,事件的生命周期是这样的:   事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到最合适的view后事件的处理(touches方法的重写,也就是事件的响应) 其中重点和难点是:   1.如何寻找最合适的view   2.寻找最合适的view的底层实现(hitTest:withEvent:底层...
阅读(201) 评论(0)

[置顶] 手把手教你利用Jenkins持续集成iOS项目

前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了。静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了。除去主观的一些因素,...
阅读(1030) 评论(0)

[置顶] 什么是开发 App 的正确步骤?

本文来自简书,原文地址:http://www.jianshu.com/p/4ef3d3737661 在 iOS 开发中,写一个 App 很容易,但是要写好一个 App,确是要下另一番功夫。首先,我们来看一个 App 的开发要求: 写一个 App,显示出 Spotify 上 Lady Gaga 相关的所有音乐专辑,相关信息可以通过以下网址查到: https://api.spotif...
阅读(277) 评论(0)

[置顶] WWDC2016 Session笔记 - iOS 10 UICollectionView新特性

本文来自简书,原文地址:http://www.jianshu.com/p/e97780a24224 前言 关于 iOS 10 UICollectionView的新特性,主要还是体现在如下3个方面 顺滑的滑动体验 现在基本上人人都离不开手机,手机的app也每天都有人在用。一个app的好坏由它的用户体验决定。在可以滑动的视图里面,必须要更加丝滑柔顺才能获得用户的青睐。这些UIColle...
阅读(317) 评论(0)

[置顶] Swift 3必看:新的访问控制fileprivate和open

本文来自简书,原文地址:http://www.jianshu.com/p/604305a61e57 在swift 3中新增加了两种访问控制权限 fileprivate和 open。下面将对这两种新增访问控制做详细介绍。 fileprivate 在原有的swift中的 private其实并不是真正的私有,如果一个变量定义为private,在同一个文件中的其他类依然是可以访问到的...
阅读(195) 评论(0)

[置顶] 放肆的使用UIBezierPath和CAShapeLayer画各种图形

本文来自简书,原文地址:http://www.jianshu.com/p/c5cbb5e05075 CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。 杂谈 在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样: let layer = C...
阅读(244) 评论(0)

[置顶] iOS视频边下边播--缓存播放数据流

google搜索“iOS视频变下边播”,有好几篇博客写到了实现方法,其实只有一篇,其他都是copy的,不过他们都是使用的本地代理服务器的方式,原理很简单,但是缺点也很明显,需要自己写一个本地代理服务器或者使用第三方库httpSever。如果使用httpSever作为本地代理服务器,如果只缓存一个视频是没有问题的,如果缓存多个视频互相切换,本地代理服务器提供的数据很不稳定,crash概率非常大。...
阅读(427) 评论(0)

[置顶] AFNetworking到底做了什么?

写在开头:本文来自简书,原文地址:http://www.jianshu.com/p/856f0e26279d作为一个iOS开发,也许你不知道NSUrlRequest、不知道NSUrlConnection、也不知道NSURLSession...(说不下去了...怎么会什么都不知道...)但是你一定知道AFNetworking。大多数人习惯了只要是请求网络都用AF,但是你真的知道AF做了什么吗?为什么...
阅读(721) 评论(0)

[置顶] 微信小程序全套使用指南

首先说一下,我对小程序的思考。我觉得小程序解决了以下的问题: 1.手机内存不足,但是又想装那些使用频次低的app。 2.公众号和服务号已经没法满足需求了。 3.创业团队开发原生app成本太高。 在如果小程序发展顺利,那么Android开发人员会受到一定的冲击,前端会进一步获得优势。 我个人觉得应该了解一下小程序的开发,在这之前我们要先熟悉小程序的使用。 如何获得小程序入口 1.小程序入口是...
阅读(621) 评论(0)

[置顶] OC中的self和super

在面试时一般都会注重基础的,不管是对初级,中级还是高级。本人主要介绍一下在OC中最常用的两个关键字self和super,它们常用在对象初始化方法里。不知道大家有没有想过研究过这个初始化方法? 问题: 下面是对象初始化方法: @implementation Son : Father - (id)init { self = [super init]; if (self...
阅读(206) 评论(0)

[置顶] iOS A/B Test 方案探索

引子 公元2016年末,2017年初,某做旅行产品的互联网公司内,产品经理疯狂的提 A/BTest 需求,以至于该司程序猿谈AB色变,邪恶的产品经理令程序猿们闻风丧胆,苦不堪言...咳咳,扯远了。 近期团队做了很多 AB Test 的业务需求,在这种需求日益见多的情况下,我们不得不提升我们的代码组织方式,以适应或更好的在此类需求上维护我们的代码。所以有了本文,本文主要阐述了业务团队在做...
阅读(365) 评论(0)

[置顶] 搜索 细聊 Cocoapods 与 Xcode 工程配置

前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分。 既然是谈 Cocoapods,那首先要搞明白它出现的背景。有经验的开发者都知道 Cocoapods 在实际使用中,经常遇到各种问题,存在一定的使用成本,因此衡量 Cocoapods 的成本和收益就显得很关键。 Cocoapods 的本质是一套自动化工...
阅读(329) 评论(0)

[置顶] Runtime全方位装逼指南

本文来源于简书,原文地址:http://www.jianshu.com/p/efeb33712445 楔子 Runtime是什么?见名知意,其概念无非就是“因为 Objective-C 是一门动态语言,所以它需要一个运行时系统……这就是 Runtime 系统”云云。对博主这种菜鸟而言,Runtime 在实际开发中,其实就是一组C语言的函数。胡适说:“多研究些问题,少谈些主义”,云山...
阅读(188) 评论(0)

[置顶] 27个iOS开源库,让你的开发坐上火箭吧

本文翻译自Medium,原作者是Paweł Białecki,原文 27个iOS开源库,让你的开发坐上火箭吧 你不会想错过他们,真的。 我爱开源。 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不求回报。开源作者和贡献者,你们是最帅的。感谢你们一直以来的工作。 所以,因为我是一个分类整理狂,这是我从iOS开源库中选出的最喜欢的。这些...
阅读(394) 评论(0)

[置顶] 是时候了解一下UILayoutGuide了

本文来源于简书,原文地址:http://www.jianshu.com/p/b5c3e0482f29 UILayoutGuide是 iOS 9 中增加的帮助开发者在使用auto layout布局时的一个虚拟占位对象。 先来看一个在布局时可能碰到的一个场景:有两个等宽的按钮,这两个按钮中间的空隙与它们到左边、右边边缘的距离相等。这样用auto layout要怎么做呢? ...
阅读(931) 评论(0)

[置顶] 一步步搭建视频直播系统,基于LFLiveKit+ijkplayer+rtmp(iOS端)

原文来自简书,原文地址:http://www.jianshu.com/p/30595a5bff42 本文主要使用的三个技术: 推流:LFLiveKit播放:ijkplayer服务器:nginx+rtmp+ffmpeg 有了这三点技术就可以完成一个简约的直播系统。效果图如下(右边的是用模拟器设备运行播放的,中间的是用VLC播放器播放的,当前在用手机推流直播)。 ...
阅读(1778) 评论(0)

[置顶] iOS即时通讯,从入门到“放弃”?

本文出自简书,原文地址:http://www.jianshu.com/p/2dbb360886a8 前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。 注:文中的所有的代码示例,在github中都有demo: iOS即时通讯,从入门到“放弃”?(demo) 可以打开项目先预览效果,对照着进行阅读。 ...
阅读(1265) 评论(0)

[置顶] (IOS)从0到Double系列 - 如何刻出一个可拖动的导航浮動按钮

本文转自简书:http://www.jianshu.com/p/7c8002b60a2e 本篇教程使用Swift 源碼:https://github.com/jamesdouble/JDJellyButton ,以下稱JDJellyButton 0)何謂導航浮動按鈕 当你的应用开发到一定程度的规模时,必须要有个十分清晰明了的导航功能,才不会让使用者卡在某一页,不知道如何...
阅读(234) 评论(0)

[置顶] iOS 更加优雅便捷的UIAlertView/UIAlertController封装使用

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

[置顶] 趁热来一波,WWDC 2016 iMessage App开发

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

[置顶] ReactiveCocoa 中 集合类RACSequence 和 RACTuple底层实现分析

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

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

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

[置顶] 可拖拽的小窗口,最好用?

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

[置顶] CoreText实现图文混排之文字环绕及点击算法

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

[置顶] 探讨iOS开发中各种锁

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

[置顶] GCD容易让人迷惑的几个小问题

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

[置顶] iOS用自签名证书实现HTTPS请求的原理实例讲解

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

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

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

[置顶] 利用动态加载实现手机淘宝的节日特效

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

[置顶] iOS逆向之分析微信导航栏实现

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

[置顶] 从零开始实现k线图走势图绘制(iOS实战篇)

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

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

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

[置顶] JavaScript实现Fly Bird小游戏

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

[置顶] 实现外卖选餐时两级tableView联动效果

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

[置顶] iOS App 唤醒另一个App

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

[置顶] Aspects源码解析

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

[置顶] 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...
阅读(1804) 评论(0)

[置顶] 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...
阅读(652) 评论(0)

[置顶] 零行代码为App添加异常加载占位图

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

[置顶] iOS百度地图的基本使用

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

[置顶] iOS直播相关(快速集成基于RTMP的视频推流与拉流)

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

[置顶] 谈谈 KVO

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

[置顶] iOS动画篇:核心动画

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

[置顶] 仿淘宝上拉进入详情页交互的实现

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

[置顶] ReactiveCocoa中RACSignal所有变换操作底层实现分析(中)

前言 紧接着上篇的源码实现分析,继续分析RACSignal的变换操作的底层实现。 目录 1.过滤操作2.组合操作 一。过滤操作 过滤操作也属于一种变换,根据过滤条件,过滤出符合条件的值。变换出来的新的信号是原信号的一个子集。 1.过滤器(在父类RACStream中定义的) 这个过滤器:操作在任何:的实现中用到过了。 - (instancetype)filter:(B...
阅读(567) 评论(0)

[置顶] ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)

前言 在上篇文章中,详细分析了RACSignal是创建和订阅的详细过程。看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用KVC / KVO实现的。 在ReactiveCocoa整个库中,RACSignal占据着比较重要的位置,而RACSignal的变换操作更是整个RACStream流操作核心之一。在上篇文章中也详细...
阅读(566) 评论(0)

[置顶] iOS-2016年12月最新邓白氏编码申请流程,一步一步教会你(超全)

前几天群里面童鞋找我帮他们申请邓白氏编码,对比了一下之前申请邓白氏的流程和现在相比还是有点不同的,下面就最新             的邓白氏编码申请流程我做了如下总结 。 邓白氏编码不是所有账号都需要的,如果你只是申请个人账号,不需要显示公司的信息,那就不需要邓白氏编码,直接$99               美元那个个人的就可以,如果你App需要显示的是公司的信息,那就需要了。 我们要申请...
阅读(3822) 评论(0)

[置顶] iOS基础面试题之RunLoop篇

RunLoop是什么,有什么作用,如何获取? 定义 RunLoop的实质是一个死循环,用于保证程序的持续运行,只有当程序退出的时候才会结束(由main函数开启主线程的RunLoop) 作用 保持程序的持续运行处理App中的各种事件(触摸、定时器、Selector事件)节省CPU资源,提高程序性能(该做事做事,没事做休息) 获取方法 使用NSRunLoop(面向对象)或者...
阅读(1474) 评论(0)

[置顶] Objective-C copy,看我就够了

一、从面向对象到Objective-C概览copy 1、面向对象: In object-oriented programming, object copying is creating a copy of an existing object, a unit of data in object-oriented programming. The resulting object is ca...
阅读(259) 评论(0)

[置顶] iOS版动画 - 从不会到熟练应用

前言 上次总结了多线程的用法,这次再复习下的iOS动画的东西。这次依然先是以API为主,因为好多人还是API好多的东西还不会用。然后中间穿插些例子,例子和代码文章中都会有。因为篇幅比较长,先列一下大纲。 动画的继承结构 CAAnimation{ CAPropertyAnimation{ CABasicAnimation{...
阅读(607) 评论(1)

[置顶] iOS超全开源框架、项目和学习资料汇总(5)AppleWatch、经典博客、三方开源总结篇

系统的整理iOS开发常用的第三方库、学习资源等,如果有更好的三方库、没有整理到、可以在评论留言,我会及时更新的,还不赶快mark~ iOS超全开源框架、项目和学习资料汇总(1)UI篇 iOS超全开源框架、项目和学习资料汇总(2)动画篇 iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇 iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频...
阅读(555) 评论(0)

[置顶] iOS超全开源框架、项目和学习资料汇总(4)数据库、缓存处理、图像浏览、摄像照相视频音频篇

系统的整理iOS开发常用的第三方库、学习资源等,如果有更好的三方库、没有整理到、可以在评论留言,我会及时更新的,还不赶快mark~ iOS超全开源框架、项目和学习资料汇总(1)UI篇 iOS超全开源框架、项目和学习资料汇总(2)动画篇 iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇 数据库 1. FMDB – sqlite的工具, 多线程FMDatabas...
阅读(356) 评论(0)

[置顶] iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇

系统的整理iOS开发常用的第三方库、学习资源等,如果有更好的三方库、没有整理到、可以在评论留言,我会及时更新的,还不赶快mark~ iOS超全开源框架、项目和学习资料汇总(1)UI篇 iOS超全开源框架、项目和学习资料汇总(2)动画篇 网络连接 1. AFNetworking – ASI不升级以后,最多人用的网络连接开源库,[推荐]iOS网络编程之AFNetworking使用,...
阅读(416) 评论(0)

[置顶] iOS超全开源框架、项目和学习资料汇总(2)动画篇

系统的整理iOS开发常用的第三方库、学习资源等,如果有更好的三方库、没有整理到、可以在评论留言,我会及时更新的,还不赶快mark~ iOS超全开源框架、项目和学习资料汇总(1)UI篇 动画 1. Core Animation笔记,基本的使用方法 – Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组。 2. ...
阅读(314) 评论(0)

[置顶] iOS超全开源框架、项目和学习资料汇总(1)UI篇

系统的整理iOS开发常用的第三方库、学习资源等,如果有更好的三方库、没有整理到、可以在评论留言,我会及时更新的,还不赶快mark~ 上下拉刷新控件 1. MJRefresh --仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。(推荐) 2. SVPullToRefresh --下拉刷新控件45...
阅读(482) 评论(0)

[置顶] iOS 指纹识别

简介 苹果从iPhone5S开始,具有指纹识别技术,从iOS8.0之后苹果允许第三方 App 使用 Touch ID进行身份验证。指纹识别Touch ID提供3+2共5次指纹识别机会(3次识别失败后,弹出的指纹验证框会消失,同时会报错code = -1,然后点击指纹会再次弹框可验证两次),如果五次指纹识别全部错误,就需要手动输入数字密码,数字密码可以输入6次,如果6次输入的数字密码都错误,系统会...
阅读(1884) 评论(0)

[置顶] 2016年39年个优秀的UI雨燕开源库星平均数2527

2016年年swift3发布了,毫无疑问,斯威夫特已经成为github上上最受欢迎的语言之一,对于iOS的开发者来说,学习开源库可以帮你快速学习和掌握这门语言.Mybridge AI从将近2700个开源斯威夫特UI库中筛选了39个项目推荐给开发者,这些项目被选中的几率只有1.4%,在GitHub上上的明星平均数是2527. 动画UI 1号春[9164星星在Github]库来简化iOS版动画斯...
阅读(260) 评论(0)

[置顶] iOS高仿app源码:纯代码打造高仿优质《内涵段子》

Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 介绍: 花了不太到两周的闲余时间模仿了一下今日头条旗下的iOS端app内涵段子,如果喜欢的话请前往我的Github点个星。(8.30-9.11) 这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因...
阅读(596) 评论(0)

[置顶] Realm数据库 从入门到“放弃”

前言 由于最近项目中在用Realm,所以把自己实践过程中的一些心得总结分享一下。 Realm是由Y Combinator孵化的创业团队开源出来的一款可以用于iOS(同样适用于Swift&Objective-C)和Android的跨平台移动数据库。目前最新版是Realm 2.0.2,支持的平台包括Java,Objective-C,Swift,React Native,Xamarin。 Real...
阅读(711) 评论(0)

[置顶] 使用GitLab来实现IOS项目的持续集成CI

作为程序员,代码是一定要写的,而且要天天写。在好多地方见过这样一种说法: 只会写程序的程序员不是好程序员 当然,我不赞同这种观点,因为有的人他天生就是为程序而生的。但是掌握一些代码之外的理论知识也是一个不错的选择,它能让你的代码质量上一个新的台阶,能极大的提高你的“抠码”效率。 最近新的APP即将上线,但在产品、研发、运营几个环节出了一些问题,也让我静下心来思考一些一个程序员觉得很难...
阅读(714) 评论(0)

[置顶] 一步一步教你 https 抓包

在 Mac 上常用的抓包软件是 Charles,网上关于 Charles 的教程很多,这里介绍另一个抓包神器 mitmproxy。mitmproxy 是一款可交互式的命令行抓包工具,它除了可以抓包查看 http/https 请求,还有一个很强大的功能是拦截并修改 request 或者 response,后面我会用实际例子演示如何修改知乎的回答:) 安装 mitmproxy 官网 介绍了用以下命...
阅读(2508) 评论(0)

[置顶] JavaScript:浅谈iOS与H5的交互-JavaScriptCore框架

前言 小的作为一个iOS程序猿,可能研究JavaScript以及H5相关的知识并不是为了真正的要去转行做这一方面,其实更多的为了要研究OC中的JavaScriptCore框架,JavaScriptCore框架主要是用来实现iOS与H5的交互.当然了,最早我曾经写过iOS浅谈webView的JS一种用法.(去掉web显示页的广告),这种算得上最简单的iOS与H5的交互了.现在混合编程越来越多,...
阅读(385) 评论(0)

[置顶] UIButton和的UILabel添加下划线,中划线

UIButton UIButton *butn=[[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 30)]; NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"我是Button"]; NSRange strRang...
阅读(400) 评论(0)

[置顶] 干货!老司机工作中用到的自定义控件,总有一个适合你的(一)

一,第一个是的tableView的透明度渐变效果 1,效果: 很多应用程序用到了这种效果,比如歌词显示,直播间聊天记录等。 大致效果如下: WZBGradualTableView 背景图片截取自新浪直播,侵立删 2,使用方法: /* * frame:tableView的frame * direction:透明渐进的方向 * gradualValue:透明范围值,...
阅读(209) 评论(0)

[置顶] iOS 双曲线波浪动画

今天来搞一下 双曲线波浪动画,那么什么是双曲线波浪呢 看效果 6月-24-2016 09-38-54.gif 一, 效果就是这样子 ,通过调整百分比 可以实现球形的水面的占比,那么实现的思路是什么呢 1.首先肯定是连个图层 一个深蓝色 一个浅蓝色 (我做的时候 RGB 是一样的不过是修改了透明度 ) 2.就是曲线条 当然很直观的可以看出来这个曲线 可以用 正弦 或 余弦函数实...
阅读(885) 评论(0)

[置顶] iOS 项目源码大全 github 国内外大神

github排名https://github.com/trending,github搜索:https://github.com/search 主要工作说明: 重新整理了Xcode好用的插件,信息更详细和完整,直接搜索@“Xcode插件@”。(已经完成) 使用方法:根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性。 引入评价机制:根据作者们的主管评价,对库是用"赞"、“很赞”...
阅读(4707) 评论(0)

[置顶] iOS 常用动画第三方

动画 Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组。 awesome-ios-animation - iOS Animation 主流炫酷动画框架(特效)收集整理 收集整理了下iOS平台下比较主流炫酷的几款动画框架。 awesome-animation - ...
阅读(1081) 评论(0)

[置顶] Android App优化之网络优化

引言 背景:Android App优化, 要怎么做?Android App优化之性能分析工具Android App优化之提升你的App启动速度之理论基础Android App优化之提升你的App启动速度之实例挑战Android App优化之Layout怎么摆Android App优化之ANR详解Android App优化之消除卡顿Android App优化之内存优化Android App优化...
阅读(3202) 评论(0)

[置顶] 一个上架了的React Native项目实战总结

项目源码下载:GitHub Popular 喜欢逛GitHub的小伙伴都知道,它有个查看最热项目的功能叫trending,但这个功能只能在网页上查看, 而且在手机上浏览显示效果很不友好,而我想在地铁上,餐厅,路上等空余的时间使用它,所以我需要一款带有这个功能的App, 不仅于此,我还想要在这款App上查询GitHub上我所喜欢的项目,甚至在手机没网的时候也能看到,而且我想要我的iOS和A...
阅读(870) 评论(0)

[置顶] 详细易懂的二维码的扫描、识别与生成

ios7之前我们实现二维码扫描是借助第三方(ZBar,ZXing等)来实现的,在ios7之后系统自己提供二维码扫描的方法,性能也要比第三方更好。 今天就来介绍一下原生二维码的使用,包括扫描二维码,从图片扫描二维码和生成二维码。讲解中只展示部分代码,具体请看Github Demo,里面的代码不多,也很容易看懂。 扫描二维码 二维码扫描需要用到AVFoundation.framework,需要用...
阅读(482) 评论(0)

[置顶] 对AF的二次封装--ELNetworking(一个轻量级的iOS网络层)

在这篇文章的开头呢我想说一下适合看这篇文章的朋友,大概就是刚培训出来的or工作几月还用着培训时候老师封装的网络层。说起这个,现在北上广的it行业已经被各种机构搞得不能在乱了,苦了我们这些入坑晚的孩子。好了,小小吐槽一下,接下来就进入正题吧。 移动端所用到的HTTP请求 关于HTTP协议,我们初期学习只需要知道最基本的内容即可。就像http响应码,了解常见的几种200,404,502,503...
阅读(556) 评论(0)

[置顶] iOS 框架模式(简述 MVC,MVP,MVVM 和 VIPER)

写在前面的话 最近看了一篇国外大牛写的关于 iOS 框架模式的文章,内容涉及目前 iOS 端诸多主流的框架模式,个人感觉文章写的很不错,收获匪浅,希望能够通过翻译原文的方式更好的体会一下,也分享给更多的人参考。原文地址在这里,浏览原文可能需要科学上网。 正文 原文配图,感觉不错 在 iOS 中使用 MVC 感觉怪怪的?想要投奔 MVVM 但是又感到迟疑?听说过 VIPER,...
阅读(631) 评论(0)

[置顶] iOS播放远程网络音乐的核心技术点

播放远程网络音乐.jpg 一、前言 这两天做了个小项目涉及到了远程音乐播放,因为第一次做这种音乐项目,边查资料边做,其中涉及到主要技术点有: 如何播放远程网络音乐如何切换当前正在播放中的音乐资源如何监听音乐播放的各种状态(播放器状态、播放的进度、缓冲的进度,播放完成)如何手动操控播放进度如何在后台模式或者锁屏情况下正常播放音乐如何在锁屏模式下显示音乐播放信息和远程操控音乐 如果您对...
阅读(923) 评论(0)

[置顶] iOS开发之Xcode常用调试技巧总结

NSLog,po命令和普通断点调试相信每个iOS开发者都会,这里就不作介绍了。 一、Memory Graph Xcode8新增:Memory Graph解决闭包引用循环问题 这个时候就进入了断点模式,可以查看issue面板,注意选择右边Runtime: 有很多叹号说明就有问题了。看内存中object的名字,有一条是Closure captures leake...
阅读(768) 评论(0)

[置顶] iOS 性能调优,成为一名合格iOS程序员必须掌握的技能

提供了基于Swift3.0模仿的新浪微博的Demo,大家可以下载看一看:基于Swift3.0高仿的微博客户端,里面针对于微博首页的复杂页面的优化做了很多的处理,页面的FPS 一直保持在59 ~ 60 。 看下demo的效果: FPS测试.gif CPU 和GPU 关于绘图和动画有两种处理方式CPU(中央处理器)和GPU(图形处理器),CPU的工作都在软件层面,而GPU的在硬件层面。...
阅读(564) 评论(0)

[置顶] 2016年末闲谈iOS开发的未来

移动开发市场潮流涌动,好多人都会问iOS开发的前景这样的问题,今天我就瞎扯一下我眼中的未来,纯主观非理性,爱看看。 Swift怎么样 Swift很好,就像你的前女友一样好。 得益于swift的开源,以及苹果的号召力,swift发展的很好。已经得到了广大开发者的一致认可。苹果自己也很重视,新的一些lib和app已经用swift编写。国外大厂比如Uber、LinkedIn已经...
阅读(1020) 评论(0)

[置顶] 仿UC浏览器首页下拉动画及实现分析

动画效果 图1 经常用UC看到首页有这么一个动画,就仿造写了一下。 实现分析 1.画曲线的动画 这个一眼看去就想到用贝塞尔曲线画,来看贝塞尔曲线方法,给出两个定点,和一个控制点就可以画。 CGContextAddQuadCurveToPoint(context, 控制点x, 控制点y, 目标点x, 目标点y); 于是按照下图,两个黄色的点是定点,绿色的是控制点,于是画出了这样...
阅读(717) 评论(0)

[置顶] 基于iOS 10、realm封装的下载器(支持存储读取、断点续传、后台下载、杀死APP重启后的断点续传等功能)

尊重知识,转发请注明出处:基于iOS 10、realm封装的下载器(支持存储读取、断点续传、后台下载、杀死APP重启后的断点续传等功能) 概要 在决定自己封装一个下载器前,我本以为没有那么复杂,可在实际开发过程中困难重重,再加上iOS10和Xcode8的发布,更是带来一些意外的麻烦,断断续续过了一个多月的时间才弄出一个可用的版本。目前网上关于iOS10下载模块出现的bug以及一些特殊情...
阅读(1168) 评论(0)

[置顶] iOS流媒体开发之三:HLS直播(M3U8)回看和下载功能的实现

尊重知识,转发请注明出处:iOS流媒体开发之三:HLS直播(M3U8)回看和下载功能的实现 概要 流媒体开发第一篇文章就说要把这些不是随便就可以百度到的知识献给“简书”,拖了一个多月了,总算弄完了,深深松了口气,万幸没有食言,否则对不起小伙伴们。 流媒体始终是大众生活娱乐最为重要的一个部分,同时也是技术开发中比较有难度的,尤其是直播,不仅功能是点播无法替代的,开发难度也要比点播大...
阅读(853) 评论(0)

[置顶] iOS流媒体开发之二:滑动手势控制音量、亮度和进度

尊重知识,转发请注明出处:iOS流媒体开发之二:滑动手势控制音量、亮度和进度 概要 看到文章的标题,小伙伴们大概会有两种反应:①这和流媒体技术没关系吧②网上有很多这个功能的实现方案。 1、对于第一种反应,从开发者的角度看这个确实不属于流媒体技术范畴,但是对于用户来讲这个已经是看视频时理所当然应该有的功能,密不可分,鉴于用户就是上帝,所以这个绝对属于流媒体范畴. 2、第二种反应确...
阅读(292) 评论(0)

[置顶] iOS流媒体开发之一:总结系统提供的接口

尊重知识,转发请注明出处:iOS流媒体开发之一:总结系统提供的接口 本文参考了博文部分内容:AVPlayer 本地、网络视频播放相关 最近独立完成了公司的一个电视直播和电台直播的流媒体类项目,目前完成了第一版,已经上线,开发过程中收获很多,准备写一个流媒体系列博客总结和分享我的一些感悟。第一篇很简单,主要是总结下系统提供的常用的音视频开发接口,属于可以百度或者Google到一大堆资料的...
阅读(260) 评论(0)

[置顶] iOS 10 SceneKit 新特性 - SceneKit 制作 3D 场景框架

开头语: 今天早上很开心,掘金的微博转发我第一个blog 服务端Swift - Vapor (一),让正在愁期末考试的我一下心花怒放。正好掘金赐给我一个内测功能(原创文章编写),于是今天打算撸一篇,希望长辈指导。 今天的主题是探索iOS10 SceneKit的新功能,你可以观看今年WWDC的视频Advances in SceneKit Rendering SceneKit 介绍,SceneK...
阅读(1735) 评论(0)

[置顶] Swift3.0已出坑-适配iOS10,项目迁移Swift3.0问题总结。

前言 swift项目,为适配iOS10,无奈只能更新Xcode 8 ,可是发现一入3.0深似海,从此幸福是路人.于是边摸索边修改,在节前的完成代码迁移.节后在完成手头工作后,整理思路,把swift3迁移的心得分享大家. 废话不多说分享下心得: 1、代码篇:(一定要做好备份!!!) 1>升级Xcode8正式版(8A218a). Xcode 8 2>使用系统自带的桥接...
阅读(4010) 评论(0)

[置顶] iOS 如何实现Aspect Oriented Programming (下)

(接上篇) 五. Aspects hook过程详解 先看看函数调用栈的情况 - aspect_prepareClassAndHookSelector(self, selector, error); ├── aspect_hookClass(self, error) │ ├──aspect_swizzleClassInPlace │ ├──aspect_swizzleF...
阅读(423) 评论(0)

[置顶] iOS 如何实现Aspect Oriented Programming (上)

前言 在“Runtime病院”住院的后两天,分析了一下AOP的实现原理。“出院”后,发现Aspect库还没有详细分析,于是就有了这篇文章,今天就来说说iOS 是如何实现Aspect Oriented Programming。 目录 1.Aspect Oriented Programming简介2.什么是Aspects3.Aspects 中4个基本类 解析4.Aspects hook前的准...
阅读(590) 评论(0)

[置顶] Xcode8带来的新特性和坑

该文章属于原创,转载请注明: http://www.jianshu.com/p/c1904fd8db06 这段时间身边发生了很多事,工作和学习也有点静不下心来。同事的离开,公司的变化,生活的需要.....想做的事太多,可时间就是这么点,诸多无奈啊。总之一句话,无论做什么事,静下心来是非常重要的。 回到正题,Xcode8正式版在9月13日已经推送给开发者下载,我也在十一回来之后,就下...
阅读(3780) 评论(1)

[置顶] Ipv6_Only 简单的理解(已验证,项目已经上线)

网上好多关于ipv6的资料,说半天ipv6是什么,怎么建立测试环境,,,可是没有看到具体的操作和解决的方案,这里,为大家提供一种方案,希望给大家带来帮助吧。 总的来说有三个方面需要进行检查和修改: 1、项目里面涉及和网络有关的网络请求是否支持ipv6。 2、项目里面涉及和网络有关的sdk是否支持ipv6。 3、项目的服务器是否支持ipv6。 IPv6的简介 IPv4 和 I...
阅读(2845) 评论(0)

[置顶] Widget的简单应用并适配iOS10

widget这个小插件不知道有多少人习惯使用?又或者有多少使用iphone手机的用户知道这东西的存在?好了,不说废话了;既然公司有这需求,小编也只能去研究了!下面来和大家介绍小编研究成果!查询了网上的相关内容,没有发现什么特别全面详细的文章!只能自己查官方文档喽! 官方对widget的解释:App Extension Programming Guide: Today People view...
阅读(6257) 评论(0)

[置顶] 嘿,还记得那些年遗忘的排序算法吗

用Objective-C实现几种基本的排序算法,并把排序的过程图形化显示。其实算法还是挺有趣的 ^ ^. 选择排序冒泡排序插入排序快速排序 选择排序 以升序为例。 选择排序比较好理解,一句话概括就是依次按位置挑选出适合此位置的元素来填充。 暂定第一个元素为最小元素,往后遍历,逐个与最小元素比较,若发现更小者,与先前的"最小元素"交换位置。达到更新最小元素的目的。一趟遍历完成后...
阅读(210) 评论(0)

[置顶] 开发只懂 AFN ?搞定 NSURLSession 才是硬道理

由于傲娇的苹果在 iOS9 之后已经放弃了 NSURLConnection,所以在现在的实际开发中,除了大家常见的 AFN 框架,一般使用的是 iOS7 之后推出的 NSURLSession,作为一名 iOS 开发人员,如果你只知道 AFN 框架来进行网络请求,那就只能说是 too young too simple,sometimes naive。 目录 NSURLSe...
阅读(582) 评论(0)

[置顶] 使用DKNightVersion实现夜间模式

概述 DKNightVersion是github上面一个用于实现iOS应用夜间模式和多种主题的开源库。github上面有两个star数较高的库,DKNightVersion和SwiftTheme。后者源码是用swift实现的,OC和Swift混编导致应用的体积大幅度增加,于是选择了DKNightVersion。 使用方法 举例说明,此处假设我们的Theme只有两种:普通模式,夜间模式。 D...
阅读(859) 评论(0)

[置顶] Socket 进行UDP广播数据(GCDAsyncUdpSocket)

在做一个App的时候,有一个需求是服务端在局域网当中发送广播数据,然后连接到此局域网当中的客户端接收到广播数据后,对广播数据做出相应地回复。在这个需求当中广播的唯一的好处就是客户端连接到局域网当中不需要知道服务端的IP地址,客户端通过收到服务端的广播消息之后,从广播报文当中获取到服务端的IP地址。唯一的不足是广播是一个耗能的操作,要控制好广播时间和广播的频率。 客户端和服务端之间通信我们当然要用...
阅读(2521) 评论(0)

[置顶] MD5加密(加强版)

Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护. 在开发中,如果我们用HTTP发送请求的话,或多或少会涉及到用户的账户信息,这个时候我们可以用MD5对用户的信息进行加密,下面本菜菜推荐几种常用的加密方法^_^ 就是普通的用md5加密 先在项目中导入MD5的类,github上应该有,不过...
阅读(606) 评论(0)

[置顶] 27个iOS开源库,让你的开发坐上火箭吧

本文翻译自Medium,原作者是Paweł Białecki,原文 27个iOS开源库,让你的开发坐上火箭吧 你不会想错过他们,真的。 我爱开源。 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不求回报。开源作者和贡献者,你们是最帅的。感谢你们一直以来的工作。 所以,因为我是一个分类整理狂,这是我从iOS开源库中选出的最喜欢的。这些项目...
阅读(213) 评论(0)

[置顶] iOS开发之——从零开始完成页面切换形变动画

前言 某天我接到了UI发给我的两张图: 需求图.png 看到图的时候我一脸懵逼,显然我需要做一个页面切换的指示动画。老实说,从大三暑假开始做iOS开发也一年有余了,但是遇到复杂动画总是唯恐避之不及,只做过一些简单的位移动画。大脑中的舒适区总是让我下意识避开麻烦的问题选择简单的解决方式。UI很善解人意得告诉我,你可以先用图片替代动画,以后有空慢慢完善。我突然不知哪里来的底气拍了...
阅读(466) 评论(0)

[置顶] iOS 开发工具(二)

17)SimPholders SimPholders.png 功能很简单打开模拟器里面app的目录,挺方便的。美中不足的是贵$11美刀,总感觉不值这个价。 SimPholders 18)iFunBox iFunBox.png iFunBox的功能是打开真机的app的目录,例如查看缓存,日志等等。貌似版本已经不更新了。。。。也是悲剧。 iFunBox ...
阅读(325) 评论(0)

[置顶] iOS 开发工具(一)

在开发过程中往往都要借助工具,同样的一件事情,借助工具往往能提高工作效率和工作质量。接下来就介绍介绍笔者接触过的用过的工具,因为工具太多,所以只介绍些笔者认为比较好用的。 1) Xcode Xcode.png iOS开发的IDE大家应该都很熟悉,这个就应该不用过多介绍了。 2)Dash Dash.png 文档工具,如果你Xcode下载了对应的文档在, Dash里面都可以...
阅读(239) 评论(0)

[置顶] AVFoundation 『入门』-- 以微信小视屏为例

仿微信小视屏 - iOS 技术路线实践笔记【录制篇】 一周之前拿到这个需求时,我当时是懵逼的,因为自己对 视频 这一块几乎可以说是一无所知。在断断续续一周的研究过程之后,准备写点笔记记录一下。 需求分析 对于一个类似微信小视屏的功能,大致需要完成的功能无非就是两块: 视频录制视频播放 先讲讲视频录制 - 技术路线 (因为自己对视频是个小白,只能借助谷歌来...
阅读(565) 评论(0)

[置顶] iOS 开发中的『库』(二)

其实这是一篇纠(da)错(lian)篇 看文章之前,你可以看下下面几个问题,如果你都会了,或许可以不看。 再谈一谈动态库和静态库。你真的知道 XXXX 和 XXX 系列。为什么使用动态库的方式来动态更新只能用在 in house 和develop 模式却不能在使用到 AppStore 上呢?动态库到底会添加到内存中几次? 我是前言 其实这篇文章准备明天再写的,但是看到 ...
阅读(371) 评论(0)

[置顶] iOS 开发中的『库』(一)

因为这篇文章有些问题,所以建议看完之后再看下iOS 开发中的『库』(二)这篇文章 看文章之前,你可以看下下面几个问题,如果你都会了,或许可以不看。 .framework 是什么?怎么制作? 谈一谈自己对动态库和静态库的理解。在项目中如何使用动态framework的 APP ?使用了动态framework 的 APP 能上架 Appstore 么?可以通过 framework 的方...
阅读(204) 评论(0)

[置顶] Xcode8调试黑科技:Memory Graph实战解决闭包引用循环问题

Xcode8的调试技能又增加了一个黑科技:Memory Graph。简单的说就是可以在运行时将内存中的对象生成一张图。在现场的开发者听到了这个消息时响起了雷鸣般的掌声!我们来看看前方记者发回的现场照片: 妈妈说再也不用担心引用循环啦!除非你是个瞎子。 那么通过一个实际项目来练习一下吧。 首先我们写了一个自定义UIView:MyView。初始化的时候接收...
阅读(651) 评论(0)

[置顶] 实例:iOS 中的 JS 交互 OC & Swift 双语

写在前面 随着 App 开发日趋成熟,不少设计模式和开发流程都被应用其中,也跟着日趋成熟。其中一条相信很多人都听说过,不少项目也是这样做的: 用 H5 页面适配代替 Native App 原生开发语音开发的页面 其实想一想不难理解为什么要这样做?优势有很多,应用场景也有很多。比方说一个非核心功能模块,需求多变需要实时更新功能,此时如果用 Native App 原生开发语言开发就显得有...
阅读(410) 评论(0)

[置顶] SDTextField:一个可以诱导输入的输入框

前言 因为前两天老大让翻找以前的工程,无意间发现这个了,就想搞一搞.以前我做诱导输入的时候一般是跳转控制器,在另外的一个控制器中searchBar和tableView配合实现诱导输入功能,然后通过代理或者通知中心进行传值.其实这种还是很常见的,因为页面的话也比较美观,相比于SDTextField.制作SDTextField的主要是老大要求,我也没办法,如果有需要的童鞋请拿走.具体的效果如下所...
阅读(412) 评论(0)

[置顶] iOS高仿app源码:10天时间纯代码打造高仿优质《内涵段子》

Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 介绍: 花了不太到两周的闲余时间模仿了一下今日头条旗下的iOS端app内涵段子,如果喜欢的话请前往我的Github点个星。(8.30-9.11) 这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因...
阅读(626) 评论(0)

[置顶] 高度封装FMDB框架:各用一句代码更新(添加&修改),查询,删除用户信息

在移动开发中,有时不得不在客户端本地保存一些数据。在iOS端,我们可以使用plist,属性列表等技术来存储数据,而相比而下更高端一点的,我们也可以使用数据库来存储数据。 有趣的是,很多iOS开发者没有去选择使用苹果自家的Core Data技术来操作数据库,而是选择了FMDB这个第三方框架。 该框架很好地封装了操作繁琐的SQLite语句,让数据库的操作更加面向对象,而且上手快,门槛低,不用学习数...
阅读(534) 评论(0)

[置顶] iOS10--CallKit的简单应用

CallKit 这个开发框架,能够让语音或视讯电话的开发者将 UI 界面整合在 iPhone 原生的电话 App 中.将允许开发者将通讯 App 的功能内建在电话 App 的“常用联络资讯”,以及“通话记录”,方便用户透过原生电话 App,就能直接取用这些第三方功能;允许用户在通知中心就能直接浏览并回覆来电,来电的画面也将整合在 iOS 原生的 UI 里,总体来说,等于让 iOS 原本单纯用来打电...
阅读(3379) 评论(2)

[置顶] 万能的RecyclerViewAdapter,支持上拉加载、添加HeadView

最近的项目,使用RecyclerView比较多,导致需要写大量的Adapter和ViewHolder。不想偷懒的程序员不是好程序员。于是,查了一些资料,对RecyclerView的Adapter进行了一些封装。使用的时候减少了大量的工作。 先来点效果图 1.gif 2.gif 封装后的Adapter使用: class DragSwipeAdapter extends ...
阅读(385) 评论(0)

[置顶] 手把手教你反编译别人的app

虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈。此文想以实际例子出发,告诉大家,如何去反编译一个app,并且从某个角度来说,iOS没有传说中的“安全”。 这里只最简单的结论给大家,具体原理以及工具的详细使用,请各位自行Google,为什么这么做呢,因为我想用最简单的语言,让没有汇编基础的同学也能明白。 将用以下几个方面来阐述我的观点: ...
阅读(580) 评论(0)

[置顶] Foundation框架之字符串和日期

字符串 NSString - (NSString *)substringFromIndex:(NSUInteger)from;//截取字符串从from到[string length]位置 - (NSString *)substringToIndex:(NSUInteger)to; //截取字符串从0到to位置 - (NSString *)substringWithRange:(NSRange)...
阅读(228) 评论(0)

[置顶] iOS富文本编辑器之更"优雅的"实现方法

前言:最近帮公司的一名程序员搞一个项目的收尾工作,差一个富文本编辑器功能未实现,时间紧迫,调研了下网上的解决方法均较为繁琐. 不得已找了个别门来实现该问题,且看下文 需要实现的效果 需要实现的效果 解决思路 采用webview加载一个本地html文件,该html内部编写好js方法用于与oc相互调用 最终输出该富文本字符串传输给服务器 为什么选择这样的方...
阅读(1350) 评论(0)

[置顶] 几句代码快速集成自定义转场效果+ 全手势驱动

写在前面 在简书写完第一篇的自定义转场文章后,已经很久没有碰过转场了,毕竟在公司,功能实现才是最重要的,这些转场的动效,只能是点睛之笔,不太容易被重视,不过我的第一篇文章还是很多人的喜欢和讨论,很多人还提出些建议,非常感谢大家,这是我第一篇文章的地址自定义转场动画,里面包含了一些转场的基础知识,这篇文章我就不再讨论这些基础知识了。 为什么会有这第二篇文章,主要原因有如下几点: 1、能不能更简...
阅读(299) 评论(0)

[置顶] iOS 生成静态库.a文件

做iOS开发的同学们都知道,我们在开发的过程中经常用到一些第三方的库,我们可以调用,但是看不见他们的源码。 有时我们不想别人看见我们的源码,也需要生成静态库,那怎么生成呢? 首先,我们要创建一个CoCoa Touch Static Library工程 创建一个CoCoa Touch Static Library工程 这样我们就会得到一个.h和.m文件,我在.h文件声明两个方...
阅读(553) 评论(0)

[置顶] 手把手教你修改iOS版QQ的运动步数

现在很多软件都加上了运动模块,比如QQ和微信,而且还有排行榜,可以和好友比较谁的运动步数多,任何东西只要添加了比较功能,就变得不一样了。今天教大家用代码去修改QQ上的运动步数,修改完效果是这样的: 屏幕快照 2016-06-21 下午5.02.56.png 本帖子是抱着学习的心态来看待这个功能的,如果不喜欢请略过。 1准备工作 你需要一个iOS程序员所需要的设备:一个mac系统...
阅读(4513) 评论(0)

[置顶] 如何让UITableView更好用

如何让UITableView更好用 Cocoa Touch Framework无疑是一个很好的框架,特别是对动画的支持,在我接触过的框架中可能是最好的(当然我接触的框架可能比较少),但是UITableView确实存在很多吐槽点,从我个人理解的角度做些分析。 UITableView初始化方法之丑 UITableView的初始化方法中带上了UITableViewStyle,先看代码 - (in...
阅读(762) 评论(0)

[置顶] 兼容iOS 10 整理笔记

升级完 Xcode8 和 iOS10后, 在开发当中遇到的问题, 现整理自己的问题解决记录. 一.Xcode8开发iOS10推送打开后问题 我的好奇心打开推送通知后,目前就发现了两个问题,说大不大说小不小,但是真心很恼人!真心建议,如若项目中没有推送相关,则不要打开这个! 1.1 工程增加了Notification Content和Notification Service两个...
阅读(1018) 评论(0)

[置顶] iOS10 CAAnimationDelegate的简单适配

前言 最近关于适配iOS10的文章有很多,内容覆盖的点都差不多,只是详略差异,本文只提一个简单的点:CAAnimationDelegate的适配,像这样的点,iOS10中有很多,都是坑。。。 1.iOS10中CAAnimationDelegate的警告 原有的工程用xcode8打开编译后,莫名的增加了许多警告,其中关于动画的警告有这样一个,虽然运行后发现并没有什么影响,但还是要探究一下: ...
阅读(3249) 评论(0)

[置顶] Category 的一些事

Category - 简介 Category(类别)是 Objective-C 2.0 添加的新特性(十年前的新特性 ...
阅读(193) 评论(0)

[置顶] SDLockView:基于贝塞尔曲线的手势解锁

从造轮子到SDLockView 手势解锁这个三方在很早之前就存在了,只是以前是没有用到过,这两天中秋在家闲着没事的时候就写了一个关于手势解锁的三方SDLockView.其中SDLockView主要的功能有三种,分别是设置手势密码,修改手势密码,验证手势密码.接下来,我们就一睹为快SDLockView的效果图. SDLockView的快速生成 有很多时候,我们需要快速生...
阅读(309) 评论(0)

[置顶] iOS Video Toolbox:GPGPU加速YUV图像处理

本文档以YUV亮度减半为例,描述了OpenGL ES 3.0 Transform Feedback在Video Toolbox解码回调中进行YUV图像处理的具体实现,同时比较多种绘制模式之间的性能差异以及在合理的模式下使用图元重启(Primitive Restart,配合glDrawElements),对比图元重启对性能的影响,目标是利用GPU并行计算能力,做通用计算(比如浮点计算),减轻非游戏及...
阅读(864) 评论(0)

[置顶] [干货最新]将自己库添加Cocoapods支持

给库添加Cocoapods支持, 使这个工具使用起来更加方便, 更好的使用Cocoapods, 助力iOS程序开发, 下面进入正题, 想要实现这个过程, 绝对不虚此读. 首先写好一个要添加Cocoapods支持的库 这是我第一个添加Cocoapods支持的工具iOS7兼容自定义带动画的AlertViewController 你可以看看 注册trunk // 升级至最新版本 $...
阅读(216) 评论(0)

[置顶] iOS雷达图

最近公司要做一个医学考试类的App,里面有一个能力分析的雷达图,leader让我来封装这个雷达图。这个模块是在做测心率模块期间完成的,也是使用的CoreGraphics来实现的。 之前并不知道雷达图长什么样,这个是我在百度上下载的。大概就长这个样子,我们要用的和这个不太一样,没有文字和介绍。 思路 写这个的时候,没有查阅什么资料,所以不太清楚别人是怎么做的。 我是从...
阅读(1428) 评论(0)

[置顶] iOS手机摄像头测心率

最近在封装一个手机摄像头测心率的模块,搞得精神各种紧张,导致吃饭、路上、做梦,甚至都在想这个东西,就在刚刚终于搞完了,写个文章庆祝一下。 原理 简单介绍一下,网上可以查到很多关于手机测心率的这种项目,大概就是:把手指放在摄像头和闪光灯上,通过手指处脉搏跳动充血导致的细微颜色变化来确定心跳波动,确定波峰波谷,根据两个波峰之间的时间差来确定瞬时心率。 思路 首先,采集视频流,根据拿到的...
阅读(1603) 评论(0)

[置顶] iOS10--消息通知的基本使用

官方将通知单独放在了UserNotifications.framework,使用时需要导入框架。 UserNotifications.framework主要类文件: UNCalendarNotificationTrigger UNLocationNotificationTrigger UNMutableNotificationContent UNNotification UNNot...
阅读(10974) 评论(0)

[置顶] 深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.Retain Circle的由来2.__weak、__strong的实现原理3.weakSelf、strongSelf的用途4.@weakify、@strongify实现原理 一. Retain Ci...
阅读(1797) 评论(2)

[置顶] iOS 10 的适配问题

随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使用下面的方法: #define isiOS10 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]...
阅读(6699) 评论(1)

[置顶] 兼容iOS 10 资料整理笔记

1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大。 iOS 9 以前的通知 1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼。 2.应用在运行时和非运行时...
阅读(278) 评论(0)

[置顶] CGContextRef绘图-iOS球形波浪加载进度控件-HcdProcessView详解

《iOS球形波浪加载进度控件-HcdProcessView》这篇文章已经展示了我在项目中编写的一个球形进度加载控件HcdProcessView,这篇文章我要简单介绍一下我的制作过程。 思路 首先我放弃了使用通过改变图片的位置来实现上面的动画效果,虽然这样也可以实现如上的效果,但是从性能和资源消耗上来说都不是最好的选择。这里我采用了通过上下文(也就是CGContextRef)来绘制这...
阅读(233) 评论(0)

[置顶] iOS-RunLoop充满灵性的死循环

一. RunLoop简介 RunLoop字面意思是跑圈,在我们的项目中其实就是运行循环,而且是充满灵性的死循环,为什么说他充满灵性呢?因为他可以在我们需要的时候自己跑起来运行,在我们没有操作的时候就停下来休息。充分节省CPU资源,提高程序性能。 二. RunLoop基本作用: 保持程序持续运行,程序一启动就会开一个主线程,主线程一开起来就会跑一个主线程对应的RunLoop,RunLoop...
阅读(6452) 评论(0)

[置顶] iOS 10 创建iMessage App

原文作者 澳大利亚19岁少年--Davis Allie ----原文地址 时值中秋佳节, 送给出门在外的程序猿们 ! 骚年们, 自己写个表情包斗图可否 ! 斗-seal.svg.png 第一. 介绍 随着iOS10的发布,苹果对开发者开放了Messages应用程序,开发人员现在可以创建他们自己的各种类型 并且可以内联iMessage内容的 iMessage apps,包...
阅读(4840) 评论(0)

[置顶] iOS面试题大全APP 开发Review - 第三方组件

Apple改进了Review流程之后,真的很迅速,昨天下午提交的应用,晚上就Ready for Sale了。大家可以在这里下载到了:iOS面试题大全-点亮您的iOS技能树 为什么要写这个应用?是因为自己学iOS一年多了,很想对自己的知识进行一个梳理,而最近又陆陆续续看到了不少iOS面试题,所以想整理下这些问题,因此有了这个应用。 APP搜集了300+的常会被问到的iOS面试题,按iOS技能树的...
阅读(525) 评论(0)

[置顶] 老司机带你走进Core Animation

老司机带你走进Core Animation 系列文章: 老司机带你走进Core Animation 为什么时隔这么久我又回来了呢? 回来圈粉。 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理。不过既然我现在回来了,那么这将是一个井喷的时节。(感觉给自己立下了什么死亡flag,啧啧啧) 先说什么呢?说一下CAA...
阅读(232) 评论(0)

[置顶] 让你的Android Studio性感起来--Sexy Editor

昨天因为的在微信朋友圈中炫耀了一下自己在家办公的图片,其中我的IDE不出意外的引起的大家的关注(妈的都是套路),然后有些人问我的Android Studio上编辑区的背景图片是怎么弄的。 那么好,今天写这篇文章来教大家让你的Android Studio性感起来。这里使用到的插件就是Sexy Editor。先上几张效果图。 这个是我在用的: 金木研 也可以弄成这种: 几...
阅读(577) 评论(0)

[置顶] JavaScript面向对象程序设计—创建对象的模式

JS本身为我们提供了Array、Date、Math等不少对象(见《浅析JavaScript的对象系统》),但在实际开发中我们使用最多的还是自定义对象。自定义对象是一门值得研究的学问。往浅了讲,它关系到代码量、封装性、代码是否优雅;往深了讲,它又涉及到内存开销、设计模式乃至JavaScript语言的核心。下面就一起循序渐进地看看如何更好地创建一个对象。 1. 基本模式 var person ...
阅读(316) 评论(0)

[置顶] iOS百度地图导航

Come on !  手把手教你实现百度地图导航功能! 一 :将工程中导入百度地图库   1.首先将百度地图SDK导入到工程里,这里我就不演示用手动导了,直接Cocopods导,首先打开终端,终端输入cd /  +你的工程     路径,如下图:...
阅读(1826) 评论(3)

[置顶] 133个Java面试问题列表

## 最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String ...
阅读(508) 评论(1)

[置顶] 前端开发面试题之 HTML

“每18至24个月,前端都会难一倍” ——赫门 “2015深JS大会《前端服务化之路》主题演讲” 知识点 对Web标准的理解、浏览器内核差异、兼容性、hack、HTML5...... 题目&答案 Doctype作用?标准模式与兼容模式各有什么区别? (1)声明位于HTML文档中的第一行,处于html>标签之前,用于告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE...
阅读(3246) 评论(0)

[置顶] 前端开发面试题之 JavaScript

“每18至24个月,前端都会难一倍” ——赫门 “2015深JS大会《前端服务化之路》主题演讲” 知识点 数据类型、运算、对象、function、继承、闭包、作用域、原型链、事件、RegExp、JSON、Ajax、DOM、BOM、内存泄漏、跨域、异步加载、模板引擎、前端MVC、前端MVVM、路由、模块化、Canvas、jQuery、ECMAScript 2015(ES6)、Node....
阅读(3340) 评论(1)

[置顶] Java 8的新特性—终极版

声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己翻译了一版(写作驱动学习,加深印象),有些地方参考了该同学的。 Java 8 前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java ...
阅读(531) 评论(0)

[置顶] 「 iOS干货 」提高代码简洁的方法

前言 开发项目的时候,常常会有一些代码重复而且冗余,在用的时候需要写很长的代码或者用的地方也多,所以这个时候就需要集中起来封装,使代码复用性强,用短短的几行代码搞定。这些方法我都封装在category、tools、View,加上代码里都有写注释,用起来很方便,实用性强,读起来也易懂,可以让代码更加的简洁。里面有一些也是参考别人源码,也做了下搬运工,希望对你们开发项目有所帮助。 简介 WTSD...
阅读(199) 评论(0)

[置顶] 面试时如何优雅的谈论Hybrid App

重要的并不是我们提供的信息量有多大,而是我们能否给他们提供真正需要的信息。 -《瞬间之美》 本文涉及如下方面: 什么是Hybrid架构(可略读)Hybrid与Native的关系设计上的考虑一句话说明白技术实现Cordova Hybrid架构 Hybrid App:Hybrid App is a mobile application that is coded in both...
阅读(1067) 评论(0)

[置顶] iOS开发常用宏

大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏,会持续的往里面添加。 //字符串是否为空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] 1 ? YES : NO ) //数组是否为空 #define kArrayI...
阅读(331) 评论(0)

[置顶] ios开发-3D折叠菜单的简单实现

在Github看到一个老外写的一个3D折叠效果的侧滑菜单demo,效果很不错,想收藏起来为以后项目开发所用。老外的demo是Swift版的,趁最近比较有时间安静下来学习,于是,我决定把它封装成OC版的。 先看看效果 LeftMenuGif.gif 原理 1、使用storyboard来创建整个UI框架,能比较直观地看到这个结构其实很简单 UI框架.png ...
阅读(755) 评论(0)

[置顶] 3D Touch-对TableView里的具体控件操作,类似微博。

去年6S上市之后,立马入了新机,然后简单看了下3D Touch的API。当时只写了对Tableview的每个cell进行了操作的简单demo,还有就是对图标加了3D TOUCH操作。 最近的一个需求,就是TableView里的控件进行3D Touch操作。类似新浪微博那样,重按评论按钮或者重按点赞按钮,或者重按cell里的图片。 对整个Cell的3D TOUCH操作很简单,但是对立面的具体控件...
阅读(371) 评论(0)

[置顶] JavaScript 原型中的哲学思想

欢迎来我的博客阅读:「JavaScript 原型中的哲学思想」 记得当年初试前端的时候,学习JavaScript过程中,原型问题一直让我疑惑许久,那时候捧着那本著名的红皮书,看到有关原型的讲解时,总是心存疑虑。 当在JavaScript世界中走过不少旅程之后,再次萌发起研究这部分知识的欲望,翻阅了不少书籍和资料,才搞懂__proto__和prototype的概念。 故以作此笔记,日后忘了...
阅读(209) 评论(0)

[置顶] iOS面试题

面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家  收到差不多3个offer,总结起来就是把基础的东西弄好,复杂的东西了解就ok了! *注:如今社会还是得靠本事,面试题60分只是多了一个机会,珍惜机会的同时提高自己硬实力才是真理! 1.给定一个字符串,输出本字符串中只出现一次并且最靠前的那个字符的位置?比如“abaccddeeef”则是b,输出2 答: int ma...
阅读(1068) 评论(0)

[置顶] iOS动画详解(学习动画看这一篇就够了)

动效设计一直是iOS平台的优势,良好的动效设计可以很好地提升用户体验。而动画则是动效的基础支撑。本动画将从易到难逐步分析,从CABasicAnimation,UIBezierPath,CAShapeLayer三个方面完整的阐述iOS动画的实现。最终的效果如下: WuWeilogin.gif 例子来源与网络,不是我写的,我只是加上了详细的注释,方便大家理解(我只是代码的搬运工...)...
阅读(915) 评论(0)

[置顶] 手把手教你使用UICollectionView写公司的项目

公司的UI图 在很多app中都有这样通用的页面,一直没有机会使用UICollectionView,只是简单的看过他的使用方法。今天公司美工出图,使用了他,并且遇到了好多的坑。记录一下过程,不确定使用的方法是不是最优的,如果有更好的方案,一起讨论,一起进步 理论篇 一.UICollectionViewLayout是做什么的? 1.1 在创建UITableView的时候,使用的是- (in...
阅读(1858) 评论(0)

[置顶] Xcode方便开发的插件推荐

Xcode的插件可以使我们开发更方便,效率更高。你没有理由拒绝哈哈,下面推荐一些插件: Alcatraz https://github.com/alcatraz/Alcatraz Alcatraz 是一个帮你管理 Xcode 插件、模版以及颜色配置的工具。它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样。 使用方法推荐巧哥的这篇文章: http:...
阅读(5780) 评论(0)

[置顶] 实现微博个人页面的滑块浮动切换页面效果(OC)

前言 这篇文章真的是不想写的, 因为之前分享过一篇用swift实现的相同的效果, 无奈很多的朋友总是问有没有oc版的, 好吧, 也可以理解在swift不太普及的情况下出现这样的事情, 看来最近真的是闲的慌, 每天在交流群里跟大家吹牛不说, 还把这个用oc写了一遍, 不过实现的过程和原来的swift有一点不一样, 因为对应的oc版的ZJScrollPageView更新了, 但是swift的并没...
阅读(525) 评论(0)

[置顶] iOS 开发中的八种锁(Lock)

锁之前的性能的图表: lock_benchmark.png 发现除了@synchronized 用过,其他的都陌生的很,可以说完全不知道啥玩意儿~ 于是怀着惭愧的心情赶紧把这些锁学习了下,废话不多说,我们开始: 锁 是什么意思? 我们在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题,这时候就需要我们保证每次只有一个线程访问这一块...
阅读(3670) 评论(0)

[置顶] iOS 枚举的巧用

前言 在之前的一篇文章中简单的提到了这个问题, 但是自己写的不详细, 并且自己深入了解的也不是特别多, 在开发中也没怎么用到,所以经过阅读者的反馈对这个问题很是疑惑! 本篇文章会分析之前的不足之处, 如果有地方不对还请帮忙纠正! 相关文章: iOS开发中你是否遇到这些经验问题(二) 1.使用层面的理解 在这里首先讲如何简单的使用, 仅仅是使用层面(有理解错误的地方帮忙纠正)...
阅读(805) 评论(0)

[置顶] iOS开发之原来Runtime的黑魔法这么厉害

学习iOS以来不间断的会听到Runtime,开始感觉OC的语法已经很完善了根本没有必要学习它背后的运行机制,一直以来对这块知识点置若罔闻的我,今天竟然认认真真的读了一篇Runtime的文章,然后就被它深深地吸引住了^_^ runtime.png 今天在这里小菜鸟不会罗列Runtime的语法,但会通过一个简单的Runtime实例的认真讲解让大家伙领会Runtime的魅力所在。 1、实例...
阅读(1426) 评论(0)

[置顶] GCDAsyncSocket不通过服务器进行客户端间直接连接—iOS移动开发

之前客户端与客户端间的交流是需要通过服务器的转发来进行 现在该方案是: 1.需要一个公共服务器来刷新在线客户端的列表 2.客户端与客户端的数据传递不再需要通过服务器转发 3.客户端与客户端之间建立一个长连接 (使用OC Object-C实现) 构思示意图如下: 构思图.jpeg 首先,我们需要写一个简单的公共服务器 1.头文件 #import @interfa...
阅读(1275) 评论(1)

[置顶] iOS 9: UIStackView 浅析

10/14 更新: 最近的见闻让我觉得自己的这篇浅析太过浅薄无知了。留着等有了足够好的认识后重写一下。 iOS 9中增加了新的控件:UIStackView,看下图就明白作用了。本来直接链接了官方文档的图片,不知道为何不能显示,只能再上传一次。 UIStackView Workflow 刚开始看到让我更多地想起 Word 里的文字排版,左对齐,居中之类,这里是对 UIView 子类对象...
阅读(659) 评论(0)

[置顶] iOS开发——真·高度自适应的TextField

产品需求: 由于单行的输入栏无法展示完整的用户地址,现要求在原有功能的基础上进行改进:地址栏文本超过一行时,多行显示。 思路: 原来的地址输入栏就是个TextField,由于TextField只能展示一行,故必须换控件。原本的功能必须保证,故这个控件可以总结为:高度随文本内容增减而改变并且带placeholder的特殊TextField。具有输入功能的特殊TextField,当然TextVi...
阅读(2038) 评论(0)

[置顶] iOS二维码生成(带logo)

实在不好意思,昨天忘记写的>忘记写最常见的黑白二维码嵌入一张图片,一般都是公司的logo.今天补上 // // ViewController.m // 内置图片二维码 // // Created by hhq on 16/7/15. // Copyright © 2016年 com.baiduniang. All rights reserved. // #import "ViewC...
阅读(2590) 评论(0)

[置顶] iOS酷炫切换动画实战分析

实现效果 主界面和菜单之间的循环动画,正如你在上边看到的. 每次我看到一个如此优雅的动画,我就会像每个人想的那样,我应该怎样实现他...--等等,难道正常的人不都是这样想的么? 在这个教程里,你将学会如何使用swift实现这个酷酷的动画.在这个过程中,你将学会如果使用shape layers,masking,UIViewControllerAnimatedTransitioning协议和...
阅读(358) 评论(0)

[置顶] 心跳之旅—

[前情提要] 光阴似箭,日月如梭,最近几年,支持心率检测的设备愈发常见了,大家都在各种测空气测雪碧的,如火如荼,于是我也来凑一凑热闹。[0] 这段时间,我完成了一个基于iOS的心率检测Demo,只要稳定地用指尖按住手机摄像头,它就能采集你的心率数据。Demo完成后,我对心率检测组件进行了封装,并提供了默认动画和音效,能够非常方便导入到其他项目中。在这篇博客里,我将向大家分享一下我完成心率检测的过...
阅读(263) 评论(0)

[置顶] tableViewCell的依次插入动画

如果有一个小需求当我们的tableView不是直接加载到界面上,而是cell依次展示到我们的界面上只一个动画效果,我们需要怎嘛做呢? 其实很简单,我们数据源有多少 我么就依次 插入多少个cell 不就行了吗? 需要注意的地方时是,当我们要插入的时候 要保证,下面返回的cell个数是对的就行了呗. -(NSInteger)tableView:(UITableView *)tableView nu...
阅读(219) 评论(0)

[置顶] iOS复杂动画之抽丝剥茧(Objective-C & Swift)

一、前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生。但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容。其中炫酷的动画效果是重要内容之一,我们会发现很多好的应用上面都有许多很炫的效果。可能一提到炫酷的动画,很多人都很头疼,因为动画并不是那么好做,实现一个好的动画需要时间、耐心和好的思路。下面我们就以一个有趣的动画(...
阅读(227) 评论(0)

[置顶] iOS游戏开发没有你想的那么难--Hardest

和大家聊聊天 有段日子没有发布过任何文字和代码了,之前的文章下很多网友留言也没有回复,其实每条评论我都有认真看.只是最近整个人有点迷茫,望大家理解.其实我很期盼大家和我聊聊天,但不要总是聊技术... 关于项目(代码下载地址在文章最下面点击GitHub链接) 项目说明:考虑到许多不会使用Cocos2D-X和Swift的朋友,此次项目采用Objective-C并且基于UIKit框架实现的.意思就...
阅读(263) 评论(0)

[置顶] iOS tableView下拉图片变大

项目需要就做了一个tableView上HeaderView放图片下拉变大上拉导航栏变色的demo. 直接上代码 //引入封装的类 #import "TransparentView.h" #import "UINavigationBar+Transparent.h" @property (nonatomic,strong)UITableView * tableView; 然后我用懒加载初始化一...
阅读(773) 评论(0)

[置顶] iOS的Cookie存取看我绝对够!!

当前一些公司为了快速出一款app,很多时候采用UINavigationController+WebView或者NavigationController+UITabbarVC+WebView的方式,这样就不可避免的需要使用cookie与Html5交互,下面讲述几种常用情景下cookie的添加方法: 一. UIWebView: // 工厂类中存储cookie的方法 + (void)saveCook...
阅读(843) 评论(0)

[置顶] 给移动应用开发插上翅膀--最简单的REST服务搭建

目前智能手机越来越像只是一个网络世界的接口,如果不联网,手机仿佛都没有什么作用。很多时候,我们做应用开发的,都需要依赖服务端提供的REST服务,如果没有这些来自网络的JSON数据,仿佛一个手机应用也没有什么存在的意义。 在这样的大环境下,如果你要做网络应用的话(如社区、电商等)那不得不依赖服务端给你提供REST接口,没有这个一个Android/IOS开发就像是被砍去手脚的人,无法自由动弹。而且在...
阅读(347) 评论(0)

[置顶] iOS人脸识别、自定义相机、图像扫描、系统自带二维码识别

前段时间遇到一个需求,需要实时扫描图像,并且设定摄像头的尺寸为1080x1920,然后从中间截取出512x512的图片传给第三方SDK做进一步业务处理,直到SDK返回正确的处理结果。 一顿Google,发现图像预览、人脸识别、二维码识别这些苹果都帮我们做好了,而且它们都是基于AVFoundation框架实现的。 话不多说,上代码~! 用到的类,主要有这些: //硬件设备 @property...
阅读(5500) 评论(1)

[置顶] iOS开发之DataSource神奇魔法,优雅的写法让你轻松驾驭TableView

项目地址:https://github.com/cocbin/CBTableViewDataSource 简介 最近在重构之前写的代码的时候,发现基本每个viewController里面都有一段又臭又长的代码用于定义tableView的dataSource和delegate,于是我在想,有没有更优雅的方式来书写dataSource,于是乎就产生了CBTableViewDataSource。 ...
阅读(737) 评论(0)

[置顶] CornerStone的使用

俗话说:“工欲善其事必先利其器”; 对于我们程序员来说,不管你是大神,还是小鱼小虾,进入公司之后,都用过源码管理工具,不然你就不是一个合格的程序员,现在各个公司用于源码管理工具通常有下面两种: 第一种,git:使用git的公司应该是最多的。 第二种,svn:目前我们公司使用的就是svn。 当然,他们两者的区别,在这里就不做解释了,一般选择用什么源码管理工具,一般会是整个项目的负责人来选...
阅读(20268) 评论(2)

[置顶] mac上GitHub Desktop客户端的使用

通常想分享我们自己写一些酷炫的动画,或者优美的自定义控件时,大多都会想到将代码代码上传到github上,github推出客户端后,为我们提供了对github更加便捷的使用,同时还能实现versions版本控制的功能(虽然在mac上我们大多数情况下依然还是直接用git命令行的形式比较多),这里介绍下github的mac客户端上如何管理我们的代码 GitHub客户端下载 mac客户端下载地址:...
阅读(3193) 评论(0)

[置顶] 用直播(推拉流)模拟实现视频聊天功能(iOS)

demo已经写好很久了,懒癌证复发一直没上传~开始进入正题 本文主要是用来练习如何实现直播功能,既推流+拉流,真正的视频聊天并不是这么做的╮(╯▽╰)╭ 咱们的目的是学会如何实现直播功能 说下简单的步骤:搭建本地服务器->推流->拉流->perfect 哇哈哈… 实现原理:既向一个服务器同时进行推流和拉流,只不过对应的"房间号"不同而已,比如A和B住在同一栋楼(IP地址),A从B的...
阅读(3373) 评论(0)

[置顶] iOS进阶之编写弹性动画

iOS进阶之编写弹性动画 字数1451 阅读237 评论2 喜欢17 前言 之前在iOS开发干货 第1期中提到过一个挺有意思的数字转变动画NumberMorphView , 如下图: NumberMorphView 我将通过几篇文章对这个开源库做一些分析,当然,这篇文章不会对它做全面的解析,而是利用这个库的一些技术概念来做一些简单的示例,也算是一个...
阅读(192) 评论(0)

[置顶] iOS进阶之编写弹性动画

前言 之前在iOS开发干货 第1期中提到过一个挺有意思的数字转变动画NumberMorphView , 如下图: NumberMorphView 我将通过几篇文章对这个开源库做一些分析,当然,这篇文章不会对它做全面的解析,而是利用这个库的一些技术概念来做一些简单的示例,也算是一个引子,后面会抽时间再写一篇对这个库的代码分析,敬请期待。 要做些什么 我们将会使用CADisplayL...
阅读(1400) 评论(0)

[置顶] 关于NSMapTable

1. 定义 打开官方文档,我们可以找到官方文档对于NSMapTable的定义: The NSMapTable class is a mutable collection modeled after NSDictionary, with the following differences: The major option is to have keys and/or values...
阅读(474) 评论(0)

[置顶] 手把手教你给一个iOS app配置多个环境变量

前言 谈到多环境,相信现在大多公司都至少有2-3个app环境了,比如Test环境,UAT(User Acceptance Test)用户验收测试环境,Release环境等等。当需要开发打多个包的时候,一般常见做法就是直接代码里面修改环境变量,改完之后Archive一下就打包了。当然这种做法很正确,只不过不是很优雅很高效。如果搭建好了Jenkins(搭建教程),我们利用它来优雅的打包。如果利用Je...
阅读(1018) 评论(0)

[置顶] 仿手机QQ下拉菜单框架(FFDropDownMenu) -- 基本使用

最近写了这个框架: FFDropDownMenu,类似手机QQ下拉菜单。 github地址: https://github.com/chenfanfang/FFDropDownMenu 更多的使用方法的demo地址: https://github.com/chenfanfang/CollectionsOfExample 更多的使用方法的博客地址: http://www.jianshu....
阅读(954) 评论(0)

[置顶] WWDC2016 Session笔记 - Xcode 8 Auto Layout新特性

目录 1.Incrementally Adopting Auto Layout2.Design and Runtime Constraints3.NSGridView4.Layout Feedback Loop Debugging 一.Incrementally Adopting Auto Layout Incrementally Adopting Auto Layout是什么意思呢?在...
阅读(1017) 评论(0)

[置顶] 「Githug」Git 游戏通关流程

Githug 他喵的这是个啥!?难道不是 GitHub 拼错了么,和 Git 什么关系? 和游戏又有什么关系? 其实,他的元身在这里:https://github.com/Gazler/githug ,这个命令行工具被设计来练习你的 Git 技能,它把平常可能遇到的一些场景都实例化,变成一个一个的关卡,一共有 55 个关卡,所以将他形象的形容为 Git 游戏。 既然是游戏,作为一个专业的游戏...
阅读(836) 评论(0)

[置顶] 谈不完美的IBDesignable/IBInspectable可视化效果编程

我们好像慢慢地习惯了“理想很丰满,现实很骨感”这样顺序这样的转折这样常态,那么如果是“现实很丰满,理想很骨感”,我们能接受吗?现实丰满可以,但是理想很骨感那就不要将就了。就像薛之谦希望是能通过“丑八怪 呀啊呀啊呀哎呀”来唱红的自己,而不是上综艺做直男直到没朋友的谐星来笑红自己却跟他的歌关系不大。 苹果开发中使用的XCode也有这样的“现实丰满,理想骨感”例子,苹果公司在2011年就推出了UI...
阅读(505) 评论(0)

[置顶] 大神手册:优秀的iOS开发站点

工欲善其事必先利其器,每一次的惊叹背后都有不为人知的努力。分享和共赢,是开源的精神所在。感谢那些开诚布公,乐于助人的程序员们。从优秀到卓越,我们需要不停地向他人学习。 国内优秀的iOS网站国外优秀的iOS网站 常用的国内网站 社区网站: 简书稀土掘金SegmentFault博客园 cocoachinaITeyeCSDN51CTOinfoq开发者头条 ...
阅读(894) 评论(0)

[置顶] iOS 开发中你是否遇到这些经验问题

前言 小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时也是提高开发经验的渠道! 1.既然有问题我们该怎样解决 ? 首先大部分人都会去百度搜索来解决问题, 谁都不例外, 可是百度这东西会有很多误解, 甚至误人子弟, 同时解决问题的效率也不是很...
阅读(379) 评论(4)

[置顶] iOS-BLE蓝牙开发持续更新

在写这个博客之前,空余时间抽看了近一个月的文档和Demo,系统给的解释很详细,接口也比较实用,唯独有一点,对于设备的唯一标示,网上众说纷纭,在这里我目前也还没有自己的见解,只是在不断的测试各种情况,亲测同一设备的UUID对于每台iPhone设备都不一样,只能尽量保证设备的唯一性,特别是自动重连的过程,让用户没有感知。我之前也找了很久,发现CBCentralManager和CBPeripheral里...
阅读(5300) 评论(0)

[置顶] iOS微信朋友圈与摇一摇

本Demo为练手小项目,主要是熟悉目前主流APP的架构模式.此项目中采用MVC设计模式,纯代码和少许XIB方式实现.主要实现了朋友圈功能和摇一摇功能. 预览效果: WeChat_Demo.gif 主要重点 1.整体架构 利用UITabBarController和UINavigationController配合实现.其中要注意定义基类,方便整体上的管理,例如对UINavigatio...
阅读(250) 评论(0)

[置顶] iOS-传感器及使用

下面是去apple官网找的iphone6包含的传感器: iPhone6的感应器.png 1、传感器的类型 iPhone内置的传感器有 运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor) 环境光传感器(Ambient Light Sensor) 距离传感器(Proximity Sensor) 磁力计传感器(Magnetometer Sen...
阅读(2595) 评论(0)

[置顶] Xcode频繁意外退出的解决方案

在开发中经常会遇到项目冲突, 程序崩溃,Xcode异常等情况,有些问题第一次遇到时基本上就懵了,下面就来总结下常见的异常解决方案。 看看怎么办 完全不明所以的频繁退出 第一种 排除SVN冲突 在团队开发中,SVN冲突是最常见的了,程序异常时查看SVN文件冲突基本上成了本能。 排除SVN冲突 首先,右键主项目文件即xcodeproj文件,显示包内容,用文本编辑器查看包...
阅读(2378) 评论(0)

[置顶] iOS 常用Category类别分享

iOS 常用Category类别分享 字数1340 阅读86 评论2 喜欢8 前言      各位都知道,类别是一种为现有的类添加新方法的方式,利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类。类别使得无需创建对象类的子类就能完成同样的工作。 ...
阅读(2333) 评论(1)

[置顶] iOS-javaScriptCore学习笔记

iOS-javaScriptCore学习笔记 字数7533 阅读34 评论0 喜欢1 一.简介 1.是什么? javaScriptCore是苹果在iOS7以后推出的一套框架, 一套将原生(OC,Swift均可)和js之间通讯变简单,变强大的框架. 1.1 JSBinding ? Hybrid? JSBinding是一个技术术语, 通常是这么说的 "JSB...
阅读(3624) 评论(2)

[置顶] 使用UITextField自定义UISearchBar

使用UITextField自定义UISearchBar 字数267 阅读51 评论1 喜欢1 有的时候,使用iOS自带的控件不符合变态产品狗的需求时,我们只好自定义控件来满足他们。在此处,我们通过创建一个GUSearchBar类,继承自UITextField类来自定义搜索框。 创建GUSearchBar 代码如下:GUSearchBar.h #...
阅读(1098) 评论(0)

[置顶] 果冻效果原理解析

果冻效果原理解析 字数344 阅读125 评论0 喜欢3 github链接: https://github.com/sunshineAku/Aku_JellyEffect 有哪里需要改进的还请麻烦留言哦! 效果图: 主要分三点:       1. 曲线路径的绘制 通过这两段代码产生曲线: // 起始点 move...
阅读(434) 评论(0)

[置顶] MacOSX&iOS操作系统之OSX和iOS架构

MacOSX&iOS操作系统之OSX和iOS架构 字数1796 阅读45 评论0 喜欢2 原创文章转载请注明出处,谢谢 介绍的知识点会有点零乱,因为也是书上看来的,这些知识只能通过不断的加深印象才可以记忆下来! iOS实际上是完整OSX精简之后的版本,和OSX的主要区别在于iOS的架构是基于ARM,OSX是基于x86_64或者Intel x86 OSX和iOS架构概述...
阅读(1525) 评论(0)

[置顶] iOS10 iMessage 带来了你需要的MessageExtension

iOS10 iMessage 带来了你需要的MessageExtension 字数2778 阅读119 评论0 喜欢6 项目要求 Xcode8 + iOS10 现在都是测试版,去开发者网站可以下载。如果没有的话,这个,那个,就看下我的配图吧,哈哈 前言 iOS10测试版已经出来一个多月了,一直对这个东西很感兴趣。但是查了好多,基本都是用Sticker的那个方面直接放图片...
阅读(11245) 评论(12)

[置顶] iOS-UINavigationController官方文档分析大总结

iOS-UINavigationController官方文档分析大总结 字数3131 阅读114 评论0 喜欢6 一、概述 类继承关系如下:UINavigationController .它是一个容器类视图控制器,以栈的形式管理一组视图控制器,位于栈底的视图是其rootViewController,管理视图控制器个数理论上不受限制(实际受内存限制),push和pop方法...
阅读(1551) 评论(0)

[置顶] iOS实现简书的登录验证方式(极验验证)

开篇 我们登录简书的时候就会看到如下类似的验证方式,个人还是很喜欢这种验证方式的,想着如果把它自如自己设计的软件中还是不错的,但是我们要怎么实现这种验证效果呢,今天就来介绍一下。 图形验证码.gif 他是怎么做的呢? 作为一个好奇宝宝类型的开发,从开始见到他,就觉得这个方式不错,酷炫,仔细想想可能包含二次验证,安全性可能还可以,见了斗鱼的那个背景是广告的验证方式,简直刷新了三观,验证码也能...
阅读(1408) 评论(0)

[置顶] iOS视频直播初窥:高仿<喵播APP>

效果图 gif1 gif2 由于licecap录制的GIF失帧太严重, 都模糊掉了, 再放两张高清截图 png1 png2 前言 今年三月份,斗鱼获腾讯领投的1亿美元融资的消息被各大平台报道转载,在电竞、泛娱乐已是热门投资的当下,网络直播平台自然也获得了各界的关注。盗用两张关于游戏直播的趋势图 游戏直播规模 游戏直播规模 ...
阅读(884) 评论(0)

[置顶] 快速集成iOS基于RTMP的视频推流

效果图 iTools有点卡, 但是推到服务器倒是很快的. 推流 前言 这篇blog是iOS视频直播初窥:的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有很多朋友简信和微博上问我推流这部分怎么实现的. 所以, 我重新集成了RTMP的推流, 合并到了之前的项目中. 下载链接 github(完整版视频直播) blog详解(建议大家结合这篇一起看) M...
阅读(4066) 评论(0)

[置顶] iOS开发之有间距的UITableViewCell

UITableView是最常用的一个iOS控件,现要做一个如下图的UITableView,其中白色部分就是cell,可是默认的UITableView中cell之间是没有间隔的,那么办呢?网上有2种做法,我这里顺带提一下吧 效果图.png 1、方式一 通过设置cell的contentView来间接实现,在cell的contentView的顶部或者底部留下一定的间距,这样就会有cell间...
阅读(1668) 评论(0)

[置顶] iOS---精仿手工课~(Objective-C)

前言 手工课是利用业余时间完成的一个项目,这个项目适合刚刚接触 iOS 开发的新手用来练手,首先,这个开源项目中用到了许多优秀的开源框架,感谢开源,好了,废话不多说.让我们先来看一下这个项目中涉及到的知识点: 利用 UICollectionView 实现常见界面的搭建,以及自定义布局转场动画的实现利用 FMDB 实现数据储存简单动画的实现利用 Block实现封装一个常用的控件如何封装一个常...
阅读(979) 评论(0)

[置顶] UIMenuController的使用简介

UIMenuController苹果官方文档 示例代码下载地址 1. UIMenuController简介 在很多应用中,当我们长按一段文字或者图片的时候会弹出一个菜单,我们通过这个菜单可以实现文字等的复制、剪切、删除以及各种操作。 示例图片 这个菜单就是UIMenuController,系统默认支持UITextField、UITextView、UIWebView控件的UIM...
阅读(1484) 评论(0)

[置顶] iOS - Masonry 使用中的一些整理

个人喜欢用纯代码写东西,其中用到最多的就是Masonry,我整理一些使用过程中一些点,方便以后使用.(基本的语法就不说了) 首先说几点: 我一般将数值类型的约束用mas_equalTo,而相对于某个控件,或者某个控件的某个约束,我会使用equalTo,如: make.size.mas_equalTo(CGSizeMake(100, 100)); make.center.equalTo(...
阅读(14633) 评论(0)

[置顶] MVVM架构

概要 MVC架构,Model-View-Controller,如图一所示为一个典型的MVC设置。 图一:mvc Model呈现数据View呈现用户界面Controller调节两者之间的交互。从Model取数据,显示在View中。 典型的MVC应用里,许多逻辑被放在View Controller中,他们中一些确实属于View Controller,但更多的是表现逻辑,即将...
阅读(8655) 评论(0)

[置顶] iOS开发内购全套图文教程

2015年最全的内购图文教程,首先是填各种资料,最后是代码,废话不多说,直接上图 ======================第一部分协议=============== 第一步.png 第二步.jpg 第三步.jpg 第四步.png 第五步.png 第六步.png 第七步.jpg 第八步.jpg 第九步.jpg...
阅读(5118) 评论(0)

[置顶] iOS 基于AVPLayer封装视频播放器

最近的公司有个需求,需要做客户端播放远程视频。本来需求很简单,只要能播放、暂停、拖动进度就行啦。 原定技术方案使用系统自带的播放controller,结果经过调研发现系统播放器controller 有很多问题,原因如下: 注意:apple 原来提供的播放类 视频播放(播放基类) 1> AVPlayer 能播放本地、远程的音频、视频文件 基于Layer显示,得自己去编写控制面板 2...
阅读(389) 评论(0)

[置顶] iOS面试题

整理一些重点和面试问到几率比较大的题目给小伙伴 对您有帮助或者您喜欢的话 希望能点个赞或者添加一下关注 一. CALayer和UIView的区别联系 1 UIView是UIKIt的只能在iOS使用, CALayer是QuartzCore的 iOS和mac os通用2 CALayer比UIView更加轻量级,但是可以实现同样的效果3 UIView的CALayer类似UIView的子View...
阅读(3407) 评论(0)

[置顶] iOS夜间模式,换肤,换字体样式

APP换肤... 很简单的功能... 但是做起来很复杂... 网上的方法很多... 我觉得很复杂... 其实是我自己没看懂... hahhahahahahhahahha.... git上也有资料... 要引入的文件一堆... 感觉不够简洁.... 所以 自己去设计了一个... 原理: 使用通知,需要变肤的控件注册这个监听,收到变化的通知之后改变做出相应的处理。 虽然笨...
阅读(918) 评论(0)

[置顶] 关于使用SDWebImage内存爆涨的问题

这几天在做一个需求,需要在一系列的控制器里下载N张图片。最方便最省事的解决方案当然首选SDWebImage这个框架(相信也很少不去用它的)。把图片地址放进去,返回一个图片,轻松,快捷,令人幸福,直到看到下面这个画面。 屏幕快照 2016-07-14 下午4.56.39.png 什么鬼!内存竟然从20M给我彪到了180+M!而且当我把控制器移除之后,内存竟然也没有丝毫的下降,这在APP上...
阅读(4912) 评论(2)

[置顶] 推荐几个比较好的开源项目和开源库

最近比较忙,北京天气又很闷热,没有太写文章,公众号后台经常有人问:为什么这几天没推送?说实话,确实有点忙,天太热而且身体有些不舒服,还请大家见谅。今天推送的这篇文章,我给大家推送几个比较好的开源库,希望能够帮助大家。 动态模糊毛玻璃效果库 前几天推送的那个关于CoordinatorLayout使用的文章中,用到了毛玻璃,就有人在后台问我动态显示毛玻璃效果的怎么实现,当时我也没有好的解决方案,回...
阅读(662) 评论(0)

[置顶] iOS 开发技巧--快速设置imageView形状

我们在开发中,很多地方可能都会 imageView 的身影,尤其是应用管理类的 app,包括一些社交类的用户头像. 如果简单的把这些头像或者应用图标设置为正方形,总感觉不是那么的美观,那么今天,我们一起看下该如何快速设置 imageView 形状 为了方便以后使用,我把这些功能都封装到一起了,以后可以直接拿来用 针对圆形形状,我个人是先创建了一个继承字UIImage 的Category...
阅读(1282) 评论(0)

[置顶] iOS简单的密码输入组件XLPasswordView,UI类似支付宝

0. Githud链接 - [https://github.com/Shannoon/XLPasswordView](https://github.com/Shannoon/XLPasswordView) 1. XLPasswordView描述 一个简单的密码输入组件,自己写的随机数字键盘,UI类似支付宝支付密码界面,使用简单,只需要三行代码就可以 , 代理方法也很简单明了 效果...
阅读(1023) 评论(0)

[置顶] iOS流媒体开发之二:滑动手势控制音量、亮度和进度

尊重知识,转发请注明出处:iOS流媒体开发之二:滑动手势控制音量、亮度和进度 概要 看到文章的标题,小伙伴们大概会有两种反应:①这和流媒体技术没关系吧②网上有很多这个功能的实现方案。 1、对于第一种反应,从开发者的角度看这个确实不属于流媒体技术范畴,但是对于用户来讲这个已经是看视频时理所当然应该有的功能,密不可分,鉴于用户就是上帝,所以这个绝对属于流媒体范畴. 2、第二种反应确实是事实...
阅读(2919) 评论(0)

[置顶] iOS流媒体开发之一:总结系统提供的接口

尊重知识,转发请注明出处:iOS流媒体开发之一:总结系统提供的接口 本文参考了博文部分内容:AVPlayer 本地、网络视频播放相关 最近独立完成了公司的一个电视直播和电台直播的流媒体类项目,目前完成了第一版,已经上线,开发过程中收获很多,准备写一个流媒体系列博客总结和分享我的一些感悟。第一篇很简单,主要是总结下系统提供的常用的音视频开发接口,属于可以百度或者Google到一大堆资料的...
阅读(1766) 评论(1)

[置顶] 来!我们来玩一下陀螺仪和加速度计

先来看一下效果 111.gif 这是通过调用iOS的陀螺仪和加速度计。通过倾斜手机实现的效果 Core Motion   加速度计和陀螺仪是通过Core Motion框架,来管理访问的。此框架提供了CMMotionManager类,它提供的数据都是用来描述设备的移动的。还提供了CMAccelerometerData和CMGroData,他们可以访问原生的加速度计和陀螺仪信息。另...
阅读(816) 评论(0)

[置顶] 看完就彻底懂了session和cookie

ttp 之session和cookie 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session...
阅读(6233) 评论(0)

[置顶] 微信语音连播的实现思路

最近有同学问到了关于微信语音连播的问题,在这里我将自己模仿微信语音连播的核心代码部分开源出来,供大家参考。仔细阅读,按照代码的思路就可以实现语音连播。 基本的思路就是:使用递归思想。点击语音消息,获取cell,判断(1)播放的消息是否正在播放,(2)播放的消息是否是点击的消息;然后进行播放,更新语音动画UI。播放完毕,需要在内存中的messageArray中查找下一条消息,通过消息找到cell,...
阅读(1882) 评论(0)

[置顶] iOS-swift环形进度指示器+图片加载动画

demo.gif 如图,这个动画的是如何做的呢? 分析: 1.环形进度指示器,根据下载进度来更新它2.扩展环,向内向外扩展这个环,中间扩展的时候,去掉这个遮盖 一.环形进度指示器 1.自定义View继承UIView,命名为CircularLoaderView.swift,此View将用来保存动画的代码 2.创建CAShapeLayer let circlePathLayer ...
阅读(961) 评论(0)

[置顶] ios 仿京东商品详情(背景缩小,下部弹出功能)

IMG_0698.PNG 最近搞了一些动画效果如下: 1.双曲线波浪动画(http://www.jianshu.com/p/7db295fd38eb) 2.环形倒计时动画(http://www.jianshu.com/p/d1d16dff33c9) 3.仪表式数字跳动动画(http://www.jianshu.com/p/0d6f50385861) 4.iOS折线图实现(一)ht...
阅读(2081) 评论(1)

[置顶] iOS开发 刮刮乐效果的实现

引言 我们平时在使用支付宝的时候, 会看到类似彩票刮刮乐的效果。如何实现的呢?下面就直接上代码了... 刮刮乐效果: 1.创建视图: -(void)createSubViews { /** 注意: 1. 这两个控件的位置要相同 2. 一定要先创建下面的label, 再创建图片 */ // 展示刮出来...
阅读(1178) 评论(0)

[置顶] iOS,StoryBoard适配实现

据说代码界,关于用纯代码,还是Xib,或者故事版(storyboard)来完成项目,一直处于争议状态,前些天还在论坛里看到这方面的大战,小编下面的一席话可能会触怒到纯代码的大神,还望大神见谅,小编毕竟是新手,技术也不厉害.小编开发项目用的就是storyboard,不说别的,项目的效率真是刚刚的,小编没用过纯代码,在这里不发表言论,下边小编说一下storyboard适配的问题,希望对考虑用story...
阅读(1068) 评论(0)

[置顶] iOS中加载HTML数据,并点击图片或链接进行相应的操作

开发中,有时候我们需要展现HTML类型的数据,这时候,我们多数选择用UIWebView加载,但是当我们需要加载大量的HTML数据时,使用UIWebView加载,性能会降低,尤其是当UITableViewCell需要放大量的HTML数据时,如果你用UIWebView加载这些HTML数据,你会发现,tableview会有卡顿的现象。 那怎样去优化这个卡顿现象呢?我们知道WKWbebView的加载速度...
阅读(957) 评论(0)

[置顶] iOS音频篇:AVPlayer的缓存实现

在上一篇文章《使用AVPlayer播放网络音乐》介绍了AVPlayer的基本使用,下面介绍如何通过AVAssetResourceLoader实现AVPlayer的缓存 需求梳理   没有任何工具能适用于所有的场景,在使用AVPlayer的过程中,我们会发现它有很多局限性,比如播放网络音乐时,往往不能控制其内部播放逻辑,比如我们会发现播放时seek会失败,数据加载完毕后不能获取到数据文件进行其他...
阅读(6916) 评论(2)

[置顶] iOS逆向Reveal查看任意app 的界面

参考书籍:iOS应用逆向工程第二版 调试其他应用界面,很详细的教程 本文是在调试其他应用界面上补充的 上面的资料两者结合看,结合看才会更容易看懂 一. 准备工作 通过前几章节的学习我们已经能够通过Reveal查看自己开发程序界面信息,但是从Xcode6开始苹果已经将Reveal查看自己开发程序界面信息的功能集成到了Xcode中, 只需要在程序运行起来之后点击Debug Vie...
阅读(2866) 评论(1)

[置顶] iOS 狂霸酷炫拽之Button动效

上周的 引起热烈的反响, 小弟真的是受宠若惊, 还有些同学私信求更新的, 我特别推崇这种互帮互助的学习方式, 有利于共同学习, 好了开始今天的话题! 今天我们需要实现的功能是: 酷炫的Button动效, 大家不禁要问, 一个小小的Button, 能够搞出些什么花头呢? 想必大家都等不及了吧, 来, 不急我们step by step 一步步来~ (今天的内容过多, 示例代码不会很详尽, 具体...
阅读(1233) 评论(0)

[置顶] URL加解密

URL加解密 背景介绍 iOS 下URL加解密,项目使用AFNetworking 虽然是使用HTTPS,但是从安全方面考虑,在很多情况下还是需要对url的参数进行加密的。接口如 https://192.160.0.123:92/frame/webInteface.do?(method=addNew&uid=123&pass=131)不管是get请求还是post请求,都可以对后边的参数进行加...
阅读(1067) 评论(0)

[置顶] iOS中图表要怎么画

因为公司是做移动医疗APP的,里面会牵扯到用户的数据问题,关于用户每天记录的数据要怎么显示,这时就用到了图表了,有了图表它可以明了的显示用户的数据,提高用户的体验。 那下面就要说这个图标到底该怎么画,思路在那里,要往哪方面想。 先看下效果图吧: 屏幕快照 2016-06-03 11.53.04.png 1.思路 该图表是用上下文,也就是CGContextRef进行绘制,大家可能对...
阅读(2260) 评论(1)

[置顶] iOS的Cookie存取看我绝对够!!

当前一些公司为了快速出一款app,很多时候采用UINavigationController+WebView或者NavigationController+UITabbarVC+WebView的方式,这样就不可避免的需要使用cookie与Html5交互,下面讲述几种常用情景下cookie的添加方法: 一. UIWebView: // 工厂类中存储cookie的方法 + (void)saveCook...
阅读(6695) 评论(1)

[置顶] 在iOS开发中使用iconfont图标

在开发iOS项目时,不可避免的会用到图标,而为了适配不同分辨率的设备,我们通常会需要@2x,@3x两套格式的图片,最明显的就是底部tabBar的图标使用。而对于那些有换肤需求的APP来说,还需要多套图来匹配不同的主题。通过切图的方式制作图标,一方面加大了开发者和设计者的工作量,另一方面也会增大APP的体积。而使用iconfont的可以达到以下目的 1.减小应用体积,字体文件比图片要小; 2.图...
阅读(1003) 评论(0)

[置顶] iOS-最全的App上架教程

App上架教程 准备 开发者账号完工的项目 上架步骤 一、创建App ID二、创建证书请求文件 (CSR)三、创建发布证书 (CER)四、创建Provisioning Profiles配置文件 (PP文件)五、在App Store创建应用六、打包上架 一、创建App ID 1.打开苹果开发者网,点击“Account”登录会员中心。 2.填写信息创建app ...
阅读(1074) 评论(1)

[置顶] iOS 超Easy实现 渐变导航栏

接着上周的项目, 在上周我别出心裁的在自定义TabbarController中加入了自定义转场动画, 受到了大家广泛的喜爱, 再次表示感激, 今天我们继续实现LifestyleViewController的第二个功能渐变导航栏!! 渐变导航栏, 现在很多项目里都有这个功能, 我们就把这个功能集成到我们的项目中来; 根据设计图纸需求, 我们需要在轮播图下面有一个搜索栏, 搜索栏根据滑动偏移到导...
阅读(2989) 评论(0)

[置顶] iOS-无限循环轮播器(注释详细到没有之一)

Bg: 1)有一段时间没有写文章了,最近事儿比较多,今天有人在技术群里面问我使用UIScrollview实现无限循环轮播的思想(3个UIImageView实现),我当时给了他一篇博客,不过好像这位朋友看的不是很懂,所以我写了一个小Demo打算写这篇文章去讲解下,帮助有需要的朋友们,所以我尽量把能写的注释都写详细了,把思想写全面了,让大家看一遍基本就明白了,里面关于如何好的封装一个控件的细节这里就...
阅读(3129) 评论(0)

[置顶] 让iOS开发变得更有效率-分类、工具类

在工作中整理的一些分类与工具类,分享给大家。这些工具类可以减少项目中的代码量,让代码变得更简洁,可以大大的提升项目的效率,直接拖到项目中使用即可。下载地址:https://github.com/leeSmile/tools/tree/master/textTools 欢迎start 分类 NSString+LXExtension 1.根据文件名计算文件大小 2.快速生成缓存/文档/临时目录...
阅读(954) 评论(0)

[置顶] tableViewCell的依次插入动画

如果有一个小需求当我们的tableView不是直接加载到界面上,而是cell依次展示到我们的界面上只一个动画效果,我们需要怎嘛做呢? 其实很简单,我们数据源有多少 我么就依次 插入多少个cell 不就行了吗? 需要注意的地方时是,当我们要插入的时候 要保证,下面返回的cell个数是对的就行了呗. -(NSInteger)tableView:(UITableView *)tableView nu...
阅读(2736) 评论(0)

[置顶] iOS:如何优雅的让UITextView根据输入文字实时改变高度

demo 前言: UITextView的高度随着输入文字实时的改变是app中非常常见的功能,社交软件的文字输入框、评论框都会用到 网上有很多UITextView的高度随着输入文字实时改变的demo,笔者看了很多,很多虽然可以实现相应的功能但是有些细节实现的不是很好,所以笔者在参考前人的基础上,做了些许优化,希望能对读者有所帮助 一言不合贴代码: 创建UITextView ...
阅读(2033) 评论(0)

[置顶] MVVM初尝试--UITableView数据Manager思路分享

本豺狼最近忙于新需求开发, 荒于研究, 心中倍感焦虑, 不过恰好项目中进行了一些新的尝试, 自觉收获颇丰, 赶紧着与诸位分享! 大体说下情况吧, 豺狼这期的需求中有一块是修改详情页的模块顺序及UI, 由于这个详情页是很老的代码了, 十多个模块并且基于UITableView开发的, 加之迭代中不断新增删除模块, 可想而知UITableView代理方法多么的混乱和不堪入目, 逻辑死板, 牵一发动全身...
阅读(674) 评论(0)

[置顶] iOS开发基础:开发两年的你也不会写的Block

阅读本文之前,请尝试写出一下问题: 声明一个Block,并调用它。声明一个Block型的属性。声明一个方法,接受一个Block型的参数,并写出调用时传入的Block实参。实现一个Block的递归调用(Block调用自己)。实现一个方法,将Block作为返回值。 现在拿出笔纸,关上屏幕,20分钟后见... 欢迎回来!如果你未能写出以上问题的答案,本文将给你答案。 本文使用以下符号,含...
阅读(623) 评论(0)

[置顶] Swift-Charts 多种样式图表-详细

我是前言: 大约几个月前我在简书写了一篇文章, 文中简单地介绍了Charts两种图表的样式的使用, 不过有种意犹未尽的感觉, 利用周末的空闲时间再次看了看, 有了新的收获, 今天发出来,分享给大家, 来稍加详细的再次走进Charts的世界. 完全纯代码. 说在前面的话: 这篇的篇幅确实是有些长, 不过你可以会一些图表的tips, 还能熟悉Swift语言的语法. #感觉不错请点个赞# 摸摸哒(...
阅读(5878) 评论(0)

[置顶] ios制作一个速度表盘

我们首先看一下这个速度表盘的效果: 速度表盘 为了实现上述的效果,我们首当其冲的是得了解的是贝塞尔曲线,听上去好高大上的样子,接下来我先就我了解贝塞尔曲线的知识给未接触的朋友普及一下。 Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线.主要有起始点、终止点(也称锚点)、控制点这几个概念。通过调整控制点,贝塞尔曲线的形状会发生变化。 大家先欣赏一下各种...
阅读(1862) 评论(1)

[置顶] 斯坦福大学iOS开发公开课总结(二) :翻纸牌Demo

本节课简单介绍了控件的懒加载(lazy instantiation),数组,字典,类方法的使用,在最后展示了翻转卡牌的小demo。 懒加载(lazy instantiation) 懒加载:在实例变量被使用之前的那一刻初始化。防止大量的实例变量(属性)在同一时间初始化(尤其是不用将创建对象的方法全部写在viewDidLoad:方法里)。 @interface ViewController ...
阅读(893) 评论(0)

[置顶] 斯坦福大学iOS开发公开课总结(一) :iOS的MVC框架

写在开头 入职iOS开发也有半年了,一直没有积极更新技术博客,感到甚是惭愧。虽然这期斯坦福公开课内容相对基础一些,但是笔者还是想把每一课的内容都总结一下然后分享出去,也算是对自己的锻炼以及对这一经典的课程致敬吧。 课程地址:斯坦福大学公开课:iOS 7应用开发 废话少说,开始! MVC架构介绍 基本概念: 视图(View):构建UI的类;例如:按钮,标签,进度条等。模型(M...
阅读(1774) 评论(0)

[置顶] iOS申请邓白氏总结

如果你是要为了申请企业账号而注册得邓白氏代码,那么你需要把上面所有填写得信息都要记住,因为在申请企业账号的时候需要用到这些,并且要和申请邓白氏所填写得信息相吻合,不然你得企业账号审核不会成功。 邓白氏编码注册连接,免费的:https://developer.apple.com/ios/enroll/dunsLookupForm.action 上图中,出现了红色的字体,因为该页面...
阅读(12608) 评论(4)

[置顶] iOS-UIButton 全面解析

UIButton 的全面解析 建议收藏,用到的时候来这里一查就都明白了 //初始化Button 不用alloca init 的方法 用便利构造器初始化 UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; typedef NS_ENUM(NSInteger, UIButtonType) { UIButtonT...
阅读(1168) 评论(0)

[置顶] UIStackView的演练-学习

UIStackView是iOS9的一个新特性,特别好用。就根据我上课学的案例,来展示一下。就不过多介绍了,直接上案例,自己体会。 一、创建项目,导入素材 创建项目-导入素材 二、搭建UI界面 搭建UI界面 二、将所需控件添加到UIStackView中 单个增加 步骤① 组合 组合 填充 填充 效果展示 效果展示 三...
阅读(436) 评论(0)

[置顶] iOS CoreSpotlightSearch探索之道

AppleStore搜索结果示例 前言 看到上图的搜索结果,找完了文档都没有发现这个效果怎样实现,我也是醉了,然后不小心看到下图,我相信有方法能实现,只是现在还没有发现! 淘票票搜索显示.png 研究了几天,还是让我找到了结果,苹果还是不行啊,还是我不行?反正一路过来,不容易!!自己想实现的效果,含泪也要实现出来—.— 最后实现的可用全部类型.png 下面就是探...
阅读(833) 评论(1)

[置顶] iOS复杂动画之抽丝剥茧(Objective-C & Swift)

一、前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生。但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容。其中炫酷的动画效果是重要内容之一,我们会发现很多好的应用上面都有许多很炫的效果。可能一提到炫酷的动画,很多人都很头疼,因为动画并不是那么好做,实现一个好的动画需要时间、耐心和好的思路。下面我们就以一个有趣的动画(...
阅读(476) 评论(0)

[置顶] iOS使用Charts框架绘制—饼状图

首先先看一下效果: 饼状图 一、创建饼状图对象 创建饼状图对象用到类是PieChartView.h, 代码如下: self.pieChartView = [[PieChartView alloc] init]; self.pieChartView.backgroundColor = BgColor; [self.view addSubview:self.pieChartView];...
阅读(5319) 评论(2)

[置顶] 图片拉伸并保护关键部分不变形

聊天气泡.png 同一个形状的图片,美工不会每个尺寸都会帮你切图,所以码农们需要自备拉伸技能。拉伸用途很多,其中最常见的就是聊天气泡,先讲一下图片拉伸步骤: 1,通过图片名称创建UIImage 对象 2,通过image对象,返回可拉伸的图片 3,设置背景图片 上代码: 1,通过图片名称创建UIImage 对象 UIImage *image = [UIImage image...
阅读(1190) 评论(0)

[置顶] iOS 实现第三方登录(图文)

前言: 首先你要明白, 所谓的第三方登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录或者注册的功能。而这里的第三方平台,一般是已经有大量用户的平台,如国内的新浪微博、QQ空间,微信,外国的Facebook、twitter等等。第三方登录不是一个具体的接口,而是一种思想或者一套步骤。这种集成三方的东西, 都非常简单,可能会有坑, 填上就好, 这篇文章以微博为例, 其实都是一样的. ...
阅读(1061) 评论(0)

[置顶] iOS<咸鱼APP>新特性界面-视频动画

前言 昨天晚上一个简友简信我,问我咸鱼最新版的新特性动画有没有什么思路. 原谅 我都没怎么用过咸鱼, 再加上已经四点多了,就跟他胡诌了一下思路. 今天广州一如既往的是大雨倾盆, 想起昨晚的事, 就下载了一下咸鱼的最新版, 看了一下新特性, 感觉还是蛮炫酷的. 脑中想了几组动画, 准备自己写一下, 随后拿到了咸鱼的所有资源, 然后我就发现, 我想多了, 他们的做法更方便... 效果图 咸...
阅读(797) 评论(1)

[置顶] iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)

最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点就是方法的互相调用而已。 本文叙述下如何进行原生的JavaScript交互 本文包括JS调用OC方法并传值,OC调用JS方法并传值 本来想把html放进服务器里面,然后访问,但是觉得如果html在本地加载更有助于理解,特把html放进项目里 HTML代码 html>...
阅读(9769) 评论(0)

[置顶] 自动计算cell高度

首先申明一下我的这个代码是把第三方的UITableView+FDKeyedHeightCache.m 和 UITableView+FDTemplateLayoutCell抽离出来的,抽离后我个人认为比较简单,而且便于理解 1.先上一个图片 自定布局.gif 2.基本的代码是 首先 定义一个缓存的高度类别 UITableView+LeeKeyedHeightCache ...
阅读(1096) 评论(0)

[置顶] TableView优化之高度缓存

TableView优化之高度缓存 系列文章: TableView优化之高度缓存功能 TableView优化之加载图片的优化逻辑 呐,也好久没写博客了,为什么呢? 因为懒啊。 不管你信与不信,这都不是真的。 因为最近公司的项目要上二版,然而我还没有提前完成他的决心,所以,你懂得。 今天说点什么呢,恩,还是说说tabV相关的吧,之前的存货了。 tabl...
阅读(3575) 评论(2)

[置顶] iOS-你真的会用UIMenuController吗?(详细)

请认真阅读,因为里面有很多细节! UIMenuController的介绍 什么是UIMenuController? UIMenuController是UIKit里面的控件UIMenuController的作用在开发中弹出的菜单栏后面介绍了菜单栏显示中文的设置 菜单栏 有哪些控件是自带UIMenuController菜单栏效果的呢? UITextFieldUI...
阅读(1253) 评论(0)

[置顶] iOS 走进Facebook POP的世界

听说贴上一个图是规矩 POP: 一个流行的可扩展的动画引擎iOS,它支持spring和衰变动态动画,使其可用于构建现实,基于物理交互。Objective - C API允许快速集成, 对于所有的动画和过渡他是成熟的. 解释: 1.1 POP 使用 Objective-C++ 编写,Objective-C++ 是对 C++ 的扩展,就像 Objective-C 是 C 的扩展。而至于为什么...
阅读(271) 评论(0)

[置顶] iOS: 玩转UICollectionViewLayout

前言: 实现垂直方向的单列表来说,使用UITableView足以;若是需要构建横向滑动列表、gridView等直线型布局,则使用UICollectionView+UICollectionViewFlowLayout搭建最合适;更复杂的布局,则可以使用UICollectionView+自定义Layout来实现。 文章的最后,笔者将会贴出使用自定义的UICollectionViewLayout...
阅读(8075) 评论(0)

[置顶] iOS-面试秘籍

序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡。矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! 一. OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装、...
阅读(765) 评论(0)

[置顶] iOS 聊天信息图文混排

候,有一个功能点是要支持聊天信息的图文混排。当时听到这个需求的时候,大脑里第一反应是用webView来通过htmlstring来实现这个功能,不过webView是一个能不用最好不用的东西,因为它的内存管理特别可怕。所以我研究了其他方法,确实存在一个更好的方法,那就是使用NSTextAttachment和NSAttributedString。      其实原理很简单,那就是把要混排的图片当成一个...
阅读(698) 评论(0)

[置顶] 分享iOS中常用的绘图, 截屏方法

设置某些角为圆角, 使用UIBezierPath let layer = CAShapeLayer() // 这里byRoundingCorners -> 指定圆角 layer.path = UIBezierPath(roundedRect: testView.bounds, byRoundingCorners: [UIRectCorner.TopLeft, .To...
阅读(2132) 评论(0)

[置顶] 简单实现界面的侧滑效果(Swift)仿QQ侧滑效果

废话不多说,看效果图 侧滑.gif viewController // // ViewController.swift // MGSlideViewDemo // // Created by ming on 16/6/5. // Copyright © 2016年 ming. All rights reserved. // import UIKit // 定义几个常量,...
阅读(1326) 评论(0)

[置顶] Swift 语言的设计错误

在『编程的智慧』一文中,我分析和肯定了 Swift 语言的 optional type 设计,但这并不等于 Swift 语言的整体设计是完美没有问题的。其实 Swift 1.0 刚出来的时候,我就发现它的 array 可变性设计存在严重的错误。Swift 2.0 修正了这个问题,然而他们的修正方法却没有击中要害,所以导致了其它的问题。这个错误一直延续到今天。 Swift 1.0 试图利用 var...
阅读(631) 评论(0)

[置顶] iOS开发runtime实现任意界面跳转

iOS开发runtime实现任意界面跳转 1.在开发中我们常常有这种需求:比如说现在有一组列表,服务器返回的数据在这组列表中,点击列表的某一行是根据服务器返回的Action字段决定跳转,这个时候的界面跳转其实是不确定的,我们需要根据服务器返回的数据动态判断,这时,就可以通过运行时,只需要传入控制器的名称以及控制器的属性,我们就可以直接执行push操作,下面说说详细实现过程。 2.首先我们创建一...
阅读(995) 评论(0)

[置顶] git与github之降龙十八掌

官方内容: https://git-scm.com/ 官网https://git-scm.com/doc Documentation:包括参考手册、pro git 这本书、视频、https://services.github.com/kit/downloads/github-git-cheat-sheet.pdfcheatsheethttp://rogerdudler.github.io/g...
阅读(474) 评论(0)

[置顶] iOS开发 - 清除缓存

Bg 1)由于项目需求需要,需要在设置页面其中一个cell里面展示缓存大小,并提供清除缓存功能,发现之前自己一直使用的那个计算并清除缓存的方法并不完善,而且一直都有想要完善一下的想法,由此写下这篇文章,提供给有需要帮助的朋友参考 2)代码的话就只提供一个简版的工具类了,使用很简单,也简单说明下 先看下简单的效果图 cache.gif 简单介绍 现在这个功能已经被抽成...
阅读(3715) 评论(2)

[置顶] 谈谈iOS面试常提及到的线程间的通信

程序猿思考问题时的样子 我们看图片只是乐呵一下,程序猿思考问题差不多就是这个样子, 今天同事在线程通信这一块有点疑问,我们下面来分析一下,系统都提供给我们那些,其实我们都知道,但是很少去关注这些API,也正是这些API,来回在APP中去执行各种不同的线程和队列 一、常见的线程间通信 GCD 我们先来看一个系统的例子: //开启一个全局队列的子线程 disp...
阅读(1726) 评论(0)

[置顶] iOS开发 给Label加下划线、中划线

引言: 当我们在做一些购物类APP或者是商品展示类的APP时,我们经常会遇到某种商品打折优惠或者抢购的场景。并且为了吸引客户,商家一般把打折商品的现价和原价同时显示出来,进行对比,此时就出现了为展示原价的label添加中划线或者是下划线的需求。 我们参考一下驴妈妈的首页: 驴妈妈首页-中划线 下面就直接上代码了: 添加中划线: UILabel * strikeL...
阅读(1666) 评论(0)

[置顶] iOS长按图片保存实现方法

1、添加手势识别: UITapGestureRecognizer*tap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(imgTapCliclk:)]; UILongPressGestureRecognizer*longTap = [[UILongPressGestureRecognize...
阅读(2490) 评论(0)

[置顶] iOS-TabBar中间凸起点击完全有反应

先看下效果 仿闲鱼.png 为什么还要继续说这个内容呢? 前一段微博上很火的tabbar封装大赛想必大家都知道吧,各位大神尽其所能自己正在仿写闲鱼,看了网上一些朋友写的关于tabbar中间按钮的处理,发现关于处理中间按钮的点击这块有点模糊个人估计是大家在写这一块的时候忽略了这个细节 有的是中间按钮凸起的部分点击没有反应,按钮其他地方可以点击有的是中间凸起按钮可以完全点击...
阅读(1599) 评论(0)

[置顶] iOS中字符串的用法,看这里就够了(详细)

这篇文章主要详细介绍iOS中字符串的各种用法,如果发现不够完善可以提交意见,主要是方便对字符串的使用的理解 内容比较多但是详细,如果觉得以后用得着的地方可以先收藏着; NSString的基本概念 (NSString是不可变字符串) 什么是NSString? 一个NSString代表一个字符串(文字内容) 一般称NSString为字符串类 NSString的创建方式 (两种) -...
阅读(2789) 评论(0)

[置顶] iOS常用公共方法

1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory(...
阅读(840) 评论(0)

[置顶] JSONModel使用

准备: JSONModel_下载 JSONModel 快速的解析数据为Model模型,支持层级嵌套Model模型解析,指定类型自动转化,无需手动解析,一行代码搞定! 配合ESJsonFormat插件效果更佳! ESJSONFormatter_下载 配合ESJsonFormat效果更佳 基本使用 假设你的 JSON 串像下面这样子: { "i...
阅读(3598) 评论(0)

[置顶] iOS仿支付宝/微信支付键盘输入demo

前段时间公司需要用到类似支付宝/微信支付的键盘输入界面,于是和同事写了一个,可能代码质量不是很高,但是也实现了功能,这里记录一下给广大 简书好友参考哈... 先给下demo的gitHub地址:(喜欢的话,star下吧) https://github.com/BrightMoment/D-Y/tree/master/仿微信:支付宝密码输入框/仿微信:支付宝密码输入框 1.先给大家看看截屏(简书...
阅读(2675) 评论(0)

[置顶] YYWebImage工作原理介绍-----下载单张图片

YYWebImage简介 YYWebImage是由ibireme开发的YYkit其中的一个库,专门处理图像。github传送门:YYWebImage。他的出现是为了替代 SDWebImage、PINRemoteImage、FLAnimatedImage 等开源框架。在YYImage出来之前,我们的图片下载和动态图片展示需要SD和FL两个库去处理。现在YYImage的出现使得统一图像库成为可能。这...
阅读(3599) 评论(0)

[置顶] iOS Cell嵌套UIWebView(内附UIWebView详解)

前言 背景:最近做的项目中有这样一个需求,一个话题详情界面内部分内容为html标签,其他为普通内容,然后html标签是嵌套在Cell中的,一开始用的是UILabel加载html标签,结果发现对于图片标签没有更好的适应屏幕,果断换成UIWebView,使用WebView加载计算高度的时候是有些注意点的,所以在此记录一下,并总结一下相关知识,以备后续查阅。 一、cell嵌套webView具...
阅读(3884) 评论(1)

[置顶] iOS应用支持IPV6,就那点事儿

果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。 一、IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,...
阅读(8834) 评论(0)

[置顶] iOS开发插件推荐(1):利用神插件injectionforxcode倍增你的开发效率

前言 这款插件曾经被我扔到了垃圾堆,直到最近UI部门要联调App,为了改一个像素,改个颜色,我不得不修改代码,停止运行,再重启模拟器,再一个页面页面的跳转到调试所在页面,其实崩溃的不是代码不是代码,是我是我是我。。。还好我想起了它,还好有Github,否则我将追悔莫及,恨一万年都不够。今天就跟大家介绍这款神级插件injectionforxcode。 神奇之处 在程序运行过程中插入OC/Swi...
阅读(688) 评论(1)

[置顶] 用C语言制作Web服务器

阅读经典——《深入理解计算机系统》09 本文,我们将使用C语言从零开始实现一个支持静态/动态网页的Web服务器。我们把这个服务器叫做Tiny。 背景知识客户端-服务器编程模型使用socket处理请求与响应HTTP协议与静/动态网页关键代码解析实验效果与源码 背景知识 Web服务器使用HTTP协议与客户端(即浏览器)通信,而HTTP协议又基于TCP/IP协议。因此我们要做的工作就...
阅读(3651) 评论(0)

[置顶] iOS中字迹动画效果

最近自己着手一款关于中国风的app,其中需要的一个想法就是诗词可以像ppt中的一种模式:字可以一个个的显示出来。最先的想法是将诗词分成一个个字放在一个个label上面,然后添加动画将其显示出来!然后这无疑是相当笨拙,且代码也是相当的丑陋!最后查阅了相关资料!终于找到了不错的解决方法!效果如下图所示 s24.gif 废话不多说,直接上思路 如何将字迹给显示出来(重点) 首...
阅读(1643) 评论(0)

[置顶] 来来来!关于iOS基础面试咱俩好好唠唠

笔者之前在魔都从事iOS相关工作,前段时间决定来到帝都发展,找工作的过程中准备了些基础的面试题目,现分享给大家。 1.1 谈一谈GCD和NSOperation的区别? 首先二者都是多线程相关的概念,当然在使用中也是根据不同情境进行不同的选择;GCD是将任务添加到队列中(串行/并发/主队列),并且制定任务执行的函数(同步/异步),其性能最好,底层是C语言的API,也更轻量级。iOS4.0...
阅读(2887) 评论(0)

[置顶] iOS 面试题~愿所有移动开发者熬过寒冬

众所周知,由于种种原因,导致今年移动开发的工作比较难找,本菜鸟也深感找工作的不易,所以总结了些面试题,希望可以帮助到哪些迷茫的人,愿大家都找到好工作 01:MRC/ARC的内存管理机制? OC的内存管理机制分为两种:一种为MRC手动引用计数,一种为ARC自动引用计数,从iOS5开始都是用ARC开发。 原理: 在MRC中当使用new,alloc和copy方法创建一个对象时,该对象的引用计数器...
阅读(1571) 评论(0)

[置顶] iOS开发之控件带箭头的弹出窗

写了个带箭头的弹出视图的封装类,界面小伙伴们可以自己进行优化,承载视图已经暴露出来了应该是很容易修改的,个人感觉常用的效果都已经出来了^_^,有十二个箭头的位置可自由设置希望对大家有所帮助... 1、源码下载地址WBPopOverView 2、效果图 箭头在上中效果图.png 箭头在上左效果图.png 3、打开工程找到类库的文件,可以直接拖到自己工程使用  ...
阅读(357) 评论(0)

[置顶] iOS开发 UITableView 常用细节

给 UITableView 贴上好瓷砖 本文导航: -1.隐藏分割线 -2.隐藏多余Cell -3.分割线头部顶到底、分割线颜色 -4.自定义点击后效果 Cell 背景等更改 -5.类似button点击效果 Cell - 闪一下 -6.Tableview视图Cell进入动画 从底部往上弹 -7.TableviewCell 使用SB约束 根据大小自动布局 -8. Cell 点击展开...
阅读(2145) 评论(0)

[置顶] iOS面试题·自整理·One

——青灯素笺 ◆如何解决低内存问题? ForExample:将暂时没有展示在Window中的界面销毁,以获得足够的内存; ◆POST请求的数据类型有哪些? json、xml、二进制、参数拼接; ◆请简述你理解的面向对象思想。 所谓面向对象,举个最简单的例子,就是这样的。 A先生需要一台电脑,但是A先生对电脑配置、性能、品牌等方方面面的知识一窍不通。而A先生恰巧有位经营电脑...
阅读(1227) 评论(0)

[置顶] CoreText实现图文混排

CoreText实现图文混排 也好久没来写博客了,主要是最近也工作了,手头的事有点多,一时间也就断了,闲下来了我就来补博客了,刚好最近也做了很多东西,放在这里也算给自己做个笔记吧。 CoreText 最近公司做了一个项目,需要用到图文混排技术。于是呢就疯狂地在网上搜刮资料。 不过很不幸的是,百度的CoreText资料还是比较少滴,翻来覆去就那几个版本。 然而我又上不去谷歌,s...
阅读(5683) 评论(2)

[置顶] iOS核心动画实现仿支付宝咻咻、雷达效果

今天闲余时间写了一个类似支付宝咻咻或者说雷达效果。望大神勿笑、写的粗糙。 更新了下文章,贴出Demo地址 github 先上效果图吧: 雷达效果图 说下主要思路吧: 主要用到了CAShapeLayer和UIBezierPath的经典结合画出自己想要的图再结合CAAnimation将动画添加到layer上实现效果。 timingFunction:动画的运...
阅读(919) 评论(0)

[置顶] AFNetworking 3 批量上传图片的 3 种方法

AFNetworking 在去年年底升级到了 3.0。这个版本更新想必有很多好处,然而让我吃惊的是,它并没有 batch request 接口。之前的 1.x 版本、2.x 版本都实现了这个很常见的需求,不知道作者为何选择在 3.x 中去掉它。 在 AFNetworking 2 中,我们只需一行代码就能解决批量上传的问题: [AFURLConnectionOperation batchOfRe...
阅读(2100) 评论(0)

[置顶] iOS 实现时间线列表效果

之前看到美团的订单详情页面很有特色,于是决定模仿一下这个效果。 其实就是简单的 TableView 技巧,下面我们就来一步一步实现它。 画个泡泡 首先到 Sketch 里画出气泡的效果 很简单,一个圆角矩形 + 一个三角形,然后 Union 操作一下,勾个边,done! 然后导出图片文件,添加到 Xcode 中。 设计 TableViewCell 原...
阅读(2157) 评论(1)

[置顶] iOS 工程瘦身

从上个版本开始,工程的Appstore安装包竟然达到了53M,简直到了不能忍的地步,工程瘦身势在必行。 1,删除自定义字体文件 工程中功能引导使用了自定义字体,自定义字体文件足有17M,使用自定义字体固然提高页面美观性,但是直接导致 工程打包后的 ipa文件增加了将近12M, 2,替换较大的图片资源,删除没有用到的图片资源 终端cd到我们工程目录下面...
阅读(315) 评论(0)

[置顶] iOS 网络资源汇总之UI

目录 下拉刷新模糊效果AutoLayout富文本图表表相关与Tabbar 隐藏与显示HUD与Toast对话框其他UI 具体内容 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件。SVPullToRefresh - 下拉刷新控件。 MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新...
阅读(3148) 评论(0)

[置顶] JavaScriptCore和Objective-C

在iOS开发中,因为H5页面的一些先天优势,原生界面里面掺杂着H5页面是一种很常见的方案。公司应用最近因为业务需要一下子接入了大量H5界面,另外还要求:原生界面使用的是友盟统计分析,为了统计数据能在平台连续、集中的展示出来,希望H5页面的统计事件和原生界面的统计事件都上报到同一个后台。为了满足这个要求,就需要H5页面使用友盟统计的iOS SDK来上报用户事件,也就是说,H5页面需要与原生应用进行交...
阅读(6983) 评论(0)

[置顶] iOS 获取汉字的拼音

在ios开发中经常碰需要将汉字转成拼音的情况,以下就是我把汉字转成拼音的方法 代码实现 + (NSString *)transform:(NSString *)chinese{ //将NSString装换成NSMutableString NSMutableString *pinyin = [chinese mutableCopy]; //将汉字转换为拼音(带音标)...
阅读(471) 评论(0)

[置顶] iOS高德地图使用-搜索,路径规划

最近赶项目,好久没更新。抽出时间把高德地图的搜索和路径规划整理一下 项目中想加入地图功能,使用高德地图第三方,想要实现确定一个位置,搜索路线并且显示的方法。耗了一番功夫,总算实现了。 效果 WeChat_1462507820.jpeg 一、配置工作 1.申请key 访问 http://lbs.amap.com/dev/key/ 在高度地图第三方开发平台申请一个key,注...
阅读(5641) 评论(0)

[置顶] 通过layout实现可拖拽自动排序的UICollectionView

Translate from http://blog.karmadust.com/drag-and-rearrange-uicollectionviews-through-layouts/ (Github上的代码 - 使用XCode6.3编译) 我们将会在UICollectionView上添加很多功能。使得CollectionViewCell具备能够被拖拽并重新在上面找到新的位置的功能...
阅读(267) 评论(0)

[置顶] iOS 二维码扫描(你想要的都在这里了)

以前就写过二维码扫描的文章,今天难得抽出来时间重新整理了一下,把所有用都的关于二维码的都写在这了,二维码问题,看了这一篇文章就什么都解决了 原生二维码扫描 个人是比较支持用原生二维码扫描的,这里也就仅仅以原生二维码扫面为范例。另也有二维码扫描库ZBarSDK(点这里)和 ZXingObjC(点这里) 。 1.原生扫描用到的几个类 @property (strong,nonat...
阅读(14021) 评论(0)

[置顶] ios自定义AlertView

先上图,弹框的背景色,按钮背景色,提示的消息的字体颜色都可以改变 利用单例实现丰富的自定义接口 // // PBAlertController.h // PBAlertDemo // // Created by 裴波波 on 16/4/20. // Copyright © 2016年 裴波波. All rights reserved. // #import ty...
阅读(252) 评论(0)

[置顶] [译]使用水平和垂直滑动的UICollectionView来制作粘性的行和列

一个tableView可以被水平和垂直滑动吗? 应用程序日常开发工作的现实之一就是克服日常的挑战.原文 远非是我们要抱怨它。我们喜欢每一个新的障碍并且爱解决各种各样的困惑和难题为我们的客户服务。 我们最近的挑战就是用一个tableView来实现水平和垂直的滑动。条件是:当水平滑动时第一列和垂直滑动时的第一行要保持静止. 最后,我们需要给这个tableView包含一个巨大的数据,因此它重要性...
阅读(496) 评论(0)

[置顶] Runtime 10种用法(没有比这更全的了)

阅读了多篇运行时的文章,感觉都很不错,从几篇文章里面提取一些个人认为比较重要的,偏实战的知识点的摘录,另外还结合了个人的创造形成此文。再牛逼的技术和实战结合才有意义,本篇介绍技术尽量和实战联系起来,有些没讲明白的,我给的链接里面都有,所以我就不赘述了,如果觉得可以就点个赞吧,哈哈。不需要打赏。 1)替换系统方法, 2)字典转model, 3)归档, 4)万能控制器跳转 四个偏实战的方法...
阅读(1373) 评论(0)

[置顶] 关于GitHub客户端上传代码的使用

什么是GitHub 在我们实际开发中,经常需要用到Git,我们一般都是直接选择 downloadzip ,但是有时候我们需要将自己的项目上传到Git上面。所以,需要我们配置一下。原来都是使用终端的,现在我们可以使用GitHub客户端来实现。 GitHub配置 1.下载github客户端 github客户端 2.登录GitHub客户端并且进行相关设置 登录 设置邮箱 ...
阅读(1991) 评论(0)

[置顶] iOS 短信验证码倒计时按钮的实现

引言: 验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下: 实现思路: 创建按钮, 添加点击方法;用NSTimer定时器, 每秒执行一次, 定时改变Button的title,改变Button的样式, 设置Button不可点击;若倒计时结束, 定时器关闭, 并改变Button的样式, 可以点击; ...
阅读(2072) 评论(1)

[置顶] 实现collectionViewCell的移动(长按或者直接拖拽)

最近在实现类似网易新闻的首页滑块的编辑效果: 长按后进入编辑界面, 然后可以通过拖拽实现cell的移动, 研究后发现两种实现方式: 第一种是直接利用系统提供的UICollectionView API实现移动, 不过只能在iOS9上面使用. 所以这里就介绍另外一种方式. 源码效果示例: 更新示例.gif 原理部分 添加一个长按手势到UICollectionView上在这个手势...
阅读(2224) 评论(0)

[置顶] iOS开发实用技术_Touch ID

TouchID 开发基础知识 支持系统和机型:最低机型iPhone 5s,最低系统iOS8.0 依赖框架: #import 注意事项:做iOS8.0以下版本适配时,需要进行API验证 备注: 模拟器->Hardware->Touch ID Enrolled 代码演示 Simulator Screen Shot 2016年5月2日 下午8.55.17.png View...
阅读(312) 评论(0)

[置顶] Github上的iOS App源码 (中文)

Github版 中文 : TeamTalk 蘑菇街. 开源IM. 电商强烈推荐. MyOne-iOS 用OC写的《一个》 iOS 客户端 zhihuDaily 高仿知乎日报 Coding iOS 客户端 Coding官方客户端. OSCHINA 的 iPhone 客户端 开源中国的iPhone客户端源码 meituan – 美团5.7iOS版(高仿...
阅读(1969) 评论(0)

[置顶] 【导航条滚动透明】一个分类搞定

下面这个界面有没有觉得很眼熟。打开你手里的App仔细观察,你会发现很多都有实现这个功能。比如美团外卖的首页模块,新浪微博的个人详情页面。要怎么样才能快速的实现这个功能呢!那下面由笔者来告诉你如何三行代码,集成这个功能。。。 2.gif 原理介绍: 要想把一个view设计成透明的我们一下子就会想到两种方案,设置view的alpha值为0,或者设置view的backgroundColor...
阅读(511) 评论(0)

[置顶] 浅谈iOS中的蓝牙技术(二) -- CoreBluetooth

在上篇文章中我们提到了 iOS 开发中,使用GameKit 框架实现相同网络的 iOS 设备之间传输数据.但是 GameKit 框架在 iOS7 之后就过时了,那么本文将介绍另一种关于蓝牙的框架 CoreBluetooth. CoreBluetooth 简介 CoreBlueTooth.framework 使用 CoreBluetooth 要求设备必须要支持蓝牙4.0(一般也叫BL...
阅读(3573) 评论(0)

[置顶] 浅谈iOS中的蓝牙技术(一) --GameKit.framework

蓝牙低能耗(BLE)技术是低成本、短距离、可互操作的无线技术,工作在免许可的2.4GHz ISM射频频段. First GameKit.framework 只能用于iOS设备之间的同个应用内连接,多用于游戏中,但是从iOS7之后就过期了,最好别利用蓝牙发送比较大的数据. Second 我们通过GameKit框架来演示建立连接传输数据(从手机的相册中传输一张照片)的过程. 搭...
阅读(487) 评论(0)

[置顶] 手把手教你如何搭建iOS项目基本框架

今天我们来谈谈如何搭建框架,框架需要做一些什么。 第一步:找到我们的目标 我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题。 第二步:我们需要做哪些东西 各位跟着我一步一步来进行。 假定我们即将要写的项目是一个tabbar+navgation的项目结构。 1. 新建工程 1.1 删除不必要类目 选择Single ViewApplication...
阅读(940) 评论(0)

[置顶] Mac上有哪些冷门但却逆天的软件?

题图来自:500px 说逆天似乎有些标题党了,但确实Mac上有很多小众但却让人无法自拔的工具,自己平时用的多,整理了一些,希望有帮助:) 这次只分四部分:阅读类、工具类、图片类、笔记类。 还是和以前一样,点击标题直接就是下载链接。 一、阅读类 虽然现在手机越来越普及,但时不时还是需要用到PC来处理工作。说是阅读其实更多是和学习相关了。 CAJViewer 之前有好多伙伴问我,...
阅读(1297) 评论(0)

[置顶] iOS 实战技巧

iOS开发过程中,各种小问题,小技巧。持续更新...... 返回输入键盘 UITextFieldDelegate> - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } CGRect CGRectFromSt...
阅读(2088) 评论(0)

[置顶] 深度解读微信提现收费背后的真实意图

从今年3月1日开始,微信对零钱体现开始执行收费政策,距离微信提现开始收费已经过去快两个月了,一切似乎并没有什么改变,但事实上,这条政策对用户的影响,已经悄然开始。 微信提现收费提示 这件事从公布到现在也有一阵子了,现在才来解读这件事,主要也是因为刚好想明白这背后的逻辑链。 在思考这个问题之前,我们需要有一个认识:对于微信这样巨无霸级体量的APP而言,任何一个细微的改动,都可能引发...
阅读(503) 评论(0)

[置顶] 网易云音乐App(iOS)分析

体验产品:网易云音乐3.3.3版本(iOS) 体验设备:iPhone 6s 手机系统:iOS 9.3 体验时间:2016.03.30 一、市场与现状 1.在线音乐服务 目前,中国互联网市场仍然以非常高的速度增长着。在线音乐服务覆盖人数仍在稳固上升。由图表可知PC端保持相对稳定而移动端用户则显著上升。 来源:艾瑞咨询 ...
阅读(2973) 评论(0)

[置顶] iOS中使用RSA加密

在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密. 首先需要先生成这些文件,然后再将文件导入工程使用,不多说,开始做! 一、使用openssl生成所需秘钥文件   生成环境是在mac系统下,使用openssl进行生成,首先打开终端,按下面这...
阅读(9834) 评论(0)

[置顶] iOS通过网络请求解析数据_中国省市区街道

二话不说就上图,大家看看效果先 上海市 云南省 本篇文章主要涉及讲解表视图和集合视图和网络请求解析数据 以下的类的创建: 这里我给一个URL定位符: http://apis.map.qq.com/ws/district/v1/list?key=K3VBZ-M6WWV-PPSPY-UVGGC-DRM2Z-PGBMV 这里面是全国34个...
阅读(816) 评论(0)

[置顶] iOS面试题-iOS部分

1.描述什么是MVC 【MVC简介】 是一种架构模式,它是苹果非常热衷的一种架构模式 M:model模型保存所有应用程序里要使用的数据,比如一款太空大战游戏,模型要负责保存飞船的大小、飞行速度、位置信息、装载了多少只枪等等这些信息。并且要处理数据之间的逻辑比如飞船要打中敌机多少次能把敌机击落 模型只是负责记录数据,跟数据的显示是没关系的,数据的显示是控制器跟视图的任务 C:contr...
阅读(413) 评论(0)

[置顶] iOS开发经验总结

在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑)。 一、 iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 plus 6s plus 414 * 73...
阅读(4325) 评论(0)

[置顶] 30分钟搞定iOS自定义相机

30分钟搞定iOS自定义相机 字数1490 阅读1126 评论11 喜欢84   最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究了一下相机的自定义。   相机属于系统硬件,这就需要我们来手动调用iPhone的相机硬件,分为以下步骤: 2016-03-30 上午9.51.09.png 1、首先声明以下...
阅读(13969) 评论(2)

[置顶] iOS 模仿淘宝的首页UI

要看UICollectionView的可以关了 全程都是tableview加button和autolayout 最近用autolayout真是越来越顺手了 Level:菜鸟 环境:Xcode7.3 iOS9.3 效果: 6s.gif 顶部轮播就不弄了。 好用的轮播传送: https://github.com/gsdios/SDCycleScrollView 图片...
阅读(3580) 评论(1)

[置顶] 使用Autolayout实现自适应UITableViewCell

今天在写医生端,查看报告模块时,发现个人端相同模块的tableViewCell竟然没有自适应,现在更改了题目内容后就成了这个样子: 题目一长就没了 突然想起来年前看到过很简单的使用autolayout实现自适应的方法,就动手做了一下。 我是使用storyboard来实现的,首先搭建界面: 界面 然后首先拉左侧绿色方块的约束,先确定一个view的固定位置,好为右侧的...
阅读(1185) 评论(0)

[置顶] iOS MD5加密

简介 MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经过MD5处理后看不到原文,是一种加密算法。 MD5的特点 输入两个不同的明文不会得到相同的输出值 根据输出值,不能得到原始的明文,即其过程不可逆 MD5的应用 由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用 主要运用在数字签名、文件完整性验证以及口令加...
阅读(1358) 评论(0)

[置顶] Android自定义View之高仿QQ健康

我们都知道自定义View一般有三种直接继承View、继承原有的控件对控件的进行修改、重新拼装组合,最后一种主要针对于ViewGroup。具体的怎么做不是本文的所涉及的内容(本文是基于第一种方式实现的),还不太了解的请自行查询相关资料。这次这篇文章主要给大家带来一个高仿QQ健康的自定义View的实现,在介绍的过程中会对涉及到的自定义View相关知识点进行简单的说明,着重点还是在怎么是实现这个自定义V...
阅读(341) 评论(0)

[置顶] iOS崩溃crash大解析

前言 iOS崩溃是让iOS开发人员比较头痛的事情,app崩溃了,说明代码写的有问题,这时如何快速定位到崩溃的地方很重要。调试阶段是比较容易找到出问题的地方的,但是已经上线的app并分析崩溃报告就比较麻烦了。 之前我总是找到一个改一个,并靠别人测试重现来找出问题的地方,这样往往比较耗费时间。而且比较难找到原因的时候每次都是到网上找各种资源搜索,解决了之后也没有认真分析原因及收集,时间长了之后就会...
阅读(6346) 评论(0)

[置顶] iOS (UIButton封装)仿糯米首页缩放“按钮”效果

前言 过年期间,少不了各种聚会,当下聚会大多数情况下自然是团购,然后就是用各种APP。。。使用度娘糯米时(不是广告,不是广告,不是广告!),偶然注意到了它的首页中一个有意思的效果,就是那些“按钮”点击时的缩放动画,有一种“按下去”的赶脚,恰逢前阵子做过一个录音按钮的“点动”效果,忍不住便封装了这个按钮效果:GitHub 动态缩放按钮,“按下去”的效果 demo中的按钮背景...
阅读(555) 评论(0)

[置顶] iOS,面试必看,最全梳理

来自网络 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡。矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装、继承、...
阅读(5781) 评论(1)

[置顶] iOS-PageControl

4月11日更新效果: navigation消失 navigation出现 更改了navigation之上的效果,主要牵扯到一些基数的计算,弄懂这几个数字就可以随意更改这个项目了. 还有隐藏Navigation和恢复Navigation的时候有很多坑,下一次更新讲解 之前那版比较像简书主页,这个更像掘金主页 github:https://github.com/La...
阅读(1415) 评论(0)

[置顶] iOS,一行代码进行RSA、DES 、AES、MD5加密、解密

加密的Demo 最近做了一个移动项目,是有服务器和客户端类型的项目,客户端是要登录才行的,服务器也会返回数据,服务器是用Java开发的,客户端要同时支持多平台(Android、iOS),在处理iOS的数据加密的时候遇到了一些问题。起初采取的方案是DES加密,老大说DES加密是对称的,网络抓包加上反编译可能会被破解,故采取RSA方式加密。RSA加密时需要公钥和私钥,客户端保存公钥加密数据,服务器保...
阅读(1663) 评论(0)

[置顶] iOS录音简单实现

简单实现录音功能 导入 ** #import /** 时间显示 */ @property (weak, nonatomic) IBOutlet UILabel *timeLabel; /** 播放按钮 */ @property (weak, nonatomic) IBOutlet UIButton *playButton; /** 重置按钮 */ @propert...
阅读(5033) 评论(0)

[置顶] iOS开发笔记:实现点击图片放大全屏

最近遇到这个问题,点击图片,让图片全屏。参考了一些博客和源码,大概明白了是怎么实现这个效果的。 这里就简单说明一下: 原理和之前的实现修改头像有点类似:修改头像的时候,我们给imageView添加一个手势事件,然后绑定一个方法。只不过之前绑定的方法是用来弹出提示框,而这里绑定的方法用来弹出一个新的视图,然后给视图添加一个黑色背景(view)和一张图片(即要放大的图片),这样就从视觉上实现了图片...
阅读(1077) 评论(0)

[置顶] IOS使用Jenkins进行持续集成

概述:为了方便测试人员测试,利用jenkins进行自动化打包并部署,减少开发人员手动打包。解除开发与测试之间的耦合,提高开发效率。 1.软件下载 需要的软件包下载地址:软件包  1.1 Tomcat安装 (1) 到apache官方主页下载 Mac 版本的完整 tar.gz文件包。解压拷贝到 /Library目录下,命名 为Tomcat,其他目录也可。 (2) 修改目录权限 ...
阅读(2742) 评论(1)

[置顶] iOS:即时通讯之<掌握篇 环信>

什么是环信? 1.环信是一个第三平台,提供即时通信(IM–Instant Messaging )的服务 2.环信是在XMPP的基础上进行二次开发 3.环信在网络上传输的数据也是XML 4.使用环信,不用自己搭建服务器,节约成本 5.环信日活30万以下,永远免费 为什么要选择环信? 数据来源艾瑞:点击跳转  数据来源易观:点击跳转  ...
阅读(3603) 评论(0)

[置顶] 一个iOS程序员的BAT面试经验

随着各大公司春招的开始,很多小伙伴都行动起来了,我有幸能够加入百度并和大家分享自己的经验心得。由于我面试的都是比较大的公司,所以自然也是做 了这方面的准备,因此这篇总结并不一定适合想去创业公司的同学。另外,由于经验本来就是主观性极强的东西,加之笔者水平有限,所以如果有不认可的地方,万 望诸君呵呵一笑,抛之脑后。 接下来,我就斗胆分享一下自己在准备和参加面试的过程中的收获、对面试的思考,以...
阅读(2370) 评论(0)

[置顶] iOS 如何设置一整张图片作为背景图片(穿透导航栏)

WeChat_1460024275.jpeg 如图所示,这个界面的背景是一张偏黑色的背景图片。有意思的是,这张图片作为背景,严丝合缝的穿透了导航栏,以及导航栏下面的控制器,使整个页面看起来更加像一个整体。 兄弟们,项目里面很有可能会遇到这种需求,比如说我。废话不多说,如何实现这种效果呢 ps:以前看过我上一篇简书里面提到的抽取出来的一个公共类WXNavigationController,...
阅读(2730) 评论(0)

[置顶] GitHub中国区前100名到底是什么样的人?

本文根据Github公开API,抓取了地址显示China的用户,根据粉丝关注做了一个排名,分析前一百名的用户属性,剖析这些活跃在技术社区的牛人到底是何许人也!后续会根据我的一些经验出品《技术人员如何建立自己的个人品牌》《优雅的程序员列传》欢迎我的简书。 Github中国区前一百名城市分布,令人比较意外的是IT重镇深圳和广州居然和北上杭差距那么大!(其中China表示没有注明具体城...
阅读(3975) 评论(0)

[置顶] iOS多语言功能开发小结

当前xcode版本7.2 手机端 iOS 9.3        我们的项目已经非常庞大了,也上线了,老板突然说要加一个多语言功能,在他眼里程序员就是个魔术师,点一个按钮然后项目所有的中文字就变成英文的了。听得我都醉了,于是这两天我调研了一下,写了一个Demo来演示如何办到多语言之间的切换。 Demo地址        Demo上传到了github上,有兴趣的童鞋可以下载去看看。 实现方...
阅读(433) 评论(0)

[置顶] iOS原生二维码扫描

现如今几乎每个app基本都有扫描功能,提高了用户体验。所以掌握这项技能必不可少。 在开始写代码之前,我们需要先导入扫描二维码的框架 //需要实现扫描二维码的代理方法 @interface ViewController ()AVCaptureMetadataOutputObjectsDelegate> //在stotyboard中添加一个扫描的视图和开始or暂停的按钮 @property...
阅读(1956) 评论(0)

[置顶] iOS MVVM+RAC 从框架到实战

一、前言 二、谈谈MVVM和RAC 1、MVVM浅析 2、RAC浅浅析 3、本篇对两者的理解运用 二、框架部分 1、框架目录详解 2、基类详解 3、题外话 三、实战部分(经典列表的实现) 1、LSCircleListViewController的处理 2、View的处理 3、LSCircleListModel的处理 4、ViewModel的处理 5、APPDelegat...
阅读(3797) 评论(0)

[置顶] Xcode个人常用插件总结

Xcode在本地存放的路径 /Users/用户名/Library/Application Support/Developer/Shared/Xcode/Plug-ins 个人常用插件如下: 1.Alcatraz Alcatraz是管理 Xcode 所有插件的插件,安装方法参照项目官网或者gitHib地址 安装完成后,重启Xcode加载该插件后再Xcode的window菜单下多处一个Pa...
阅读(1001) 评论(0)

[置顶] iOS应用程序的生命周期

iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有app来运行,而你提供自己编写的代码来定制app的外观和行为。因此,了解iOS infrastructure和它们如何工作对编写app是很有帮助的。 Main函数入口 所有基于C编写的app的入口都是main函数,但iOS应用程序有点不同。不同就是你...
阅读(230) 评论(0)

[置顶] 基于MBProgressHUD的封装

1、前言 在ios开发中,最经典也是最常用的提示框就是MBProgressHUD了,用于在执行一些任务时的提示效果,但它也有一定的弊端,就是封装的不是很好,每次我们使用的时候就要费很大的劲写一堆大量的重复的代码,这对于我们天生有着强迫症的程序猿来说是绝对不能容忍的,而且还有一点不能容忍的就是,比如说去后台请求数据时,如果数据量比较大,网速又比较慢,那么那个loading就一直在那转啊转,想取消都...
阅读(3406) 评论(0)

[置顶] iOS磨砂(半透明)效果实现

291F12A6-B038-4D48-9A26-E650F2BE2D1A.png 上图是我做的一个小demo里面的截图,如图所示,弹出框的背景是现在app大量使用的半透明磨砂效果,那么如果去实现这种效果呢? // 判断系统版本是否支持 8.0 UIView *blurEffectView; if ([[[UIDevice currentDevice] systemVersi...
阅读(3813) 评论(0)

[置顶] iOS之简单瀑布流的实现

前言 超简单的瀑布流实现,这里说一下笔者的思路,详细代码在这里 效果演示 实现思路 collectionView能实现各中吊炸天的布局,其精髓就在于UICollectionViewLayout,因此我们要自定义一个layout来继承系统的UICollectionViewLayout,所有工作都在这个类中进行 1.定义所需属性 瀑布流的思路就是,从上往下,...
阅读(278) 评论(0)

[置顶] Objective-C中@property和@synthesize的用法

在Objective-C中,@是Objective-C的标志,证明您正在使用Objective-C语言! 针对Objective-C语言中的关键词@property与@synthesize的使用进行了一个简要的分析(自己所理解的). 下面是自己编写的一个例子:建立一个Person类,其中省略了方法的声明. 1)在.h头文件中: @property在头文件中应用于声明: 例如: ...
阅读(1071) 评论(0)

[置顶] Axure RP Pro Mac汉化版

Axure RP Pro Mac (产品原型设计软件)是一款运行在Mac OS 平台上的交互式快速产品原型设计制作软件,Axure RP Pro Mac (产品原型设计软件)能够高效率的制作产品原型,快速绘制线框图.流程图.网站架构图.示意图.HTML 模版等.本站提供Axure RP Pro Mac (产品原型设计软件)中文汉化破解版, Axure RP Pro Mac (产品原型设计...
阅读(10755) 评论(0)

[置顶] iOS 资源大全

这是个精心编排的列表,它包含了优秀的 iOS 框架、库、教程、XCode 插件、组件等等。 这个列表分为以下几个部分:框架( Frameworks )、组件( Components )、测试( Testing )和其他的开源项目,免费的和付费的服务。每个部分中的项目没有先后顺序,均是按照提交的先后顺序排列的。 Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会...
阅读(6649) 评论(0)

[置顶] iOS开发完全自学资源集合

如果你有一个很好的想法,为什么不自己动手做一个App来实现它呢。即使你完全没有编程经验也没有关系,通过以下这些精心挑选的教程和资源,你也一定能作出属于自己的iOS App来。(当然如果你暂时还没有一个好的想法或者觉得自己还没做好充足的准备,那也没关系,你可以收藏这篇“资源集合”,技匠会为你持续更新其中的内容,当你准备好的那天,翻出这篇文章,就可以开始实现你的梦想。 ) (补充:如果你由于网络原因...
阅读(311) 评论(0)

[置顶] 15个你必须知道的Facebook开源项目

Facebook为了争当开源第一大厂,已经把自家很多好东西都拿了出来贡献给开源世界,在开源之路上一骑绝尘,根本停不下来。 Facebook开源项目涉及的领域有移动工具多样化、大数据、客户端web库、后台运行时和基础设施,还有通过开放计算项目涉及到的服务器和存储硬件等等。Facebook的GitHub账户有274个代码库,收到了39000次fork、提交了79000个commit,拥有2420...
阅读(448) 评论(0)

[置顶] iOS 即时视频和聊天(基于环信)

先上效果图: 屏幕快照 2015-07-30 下午5.19.46.png 说说需求:开发一个可以进行即时视频聊天软件. 最近比较忙,考完试回到公司就要做这个即时通信demo.本来是打算用xmpp协议来做视频通信的,想了想要搞后台,还要搭建服务器.一开始没明白是怎么样的一种形式.(现在想了想,其实就是自己写个服务器,然后放在服务器上而已了""脑袋被驴踢了).让后问bos...
阅读(3043) 评论(0)

[置顶] 一步一步实现iOS微信自动抢红包(非越狱)

微信红包 前言:最近笔者在研究iOS逆向工程,顺便拿微信来练手,在非越狱手机上实现了微信自动抢红包的功能。 题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~ 好了,接下来可以进入正题了! 此教程所需要的工具/文件 yololibclass-dumpdumpdecryptediOSOpenDeviTo...
阅读(1255) 评论(0)

[置顶] Mac电脑使用 Boot Camp 安装Windows系统

昨天公司一个做文秘的同事由于公司给配的电脑很不给力,用个office,再打开一两个其他的软件就卡的要死,最后实在是受不了,就差砸电脑了。所以只好把她12年末买的一款2012年中的MacBook Pro拿过来准备安装win7(mac电脑虽好,但是对于经常用office做编辑的人来说,mac电脑显然不能够满足工作的需要),看了她macPro的配置(处理器:2.9 GHz Intel Core i7,8...
阅读(3815) 评论(0)

[置顶] iOS音频篇:使用AVPlayer播放网络音乐

引言 假如你现在打算做一个类似百度音乐、豆瓣电台的在线音乐类APP,你会怎样做? 首先了解一下音频播放的实现级别: (1) 离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完成音频文件再进行播放的情况,这种使用AVFoundation里的AVAudioPlayer可以满足 (2) 在线播放:使用AVFoundation的AVPlayer可以满足 (3) 在线播放同时存...
阅读(6541) 评论(0)

[置顶] iOS 关于navigationBar的一些:毛玻璃、透明、动态缩放、动态隐藏

前言 本文整理了一些关于navigationBar的非常规的但是较为实用的操作,包括利用毛玻璃、动态透明、动态item颜色、动态隐藏,以及头视图的动态缩放,并同时涉及了statusBar的动态设置(换色)。 先预览下整体效果: Demo详见GitHub:Demo_AboutNavigationBar 1.不要“浪费”了这块毛玻璃 这里所谓的不要浪费,只是个人的...
阅读(1765) 评论(0)

[置顶] 给新人的iOS面试资料(2016年3月6日更新)

发现各种群里的新人都不知道怎么样去准备面试,确实现在找工作比较难,培训班出来的千篇一律的简历,极大的增加了你的简历被心仪企业看到的难度。所以这篇文章集合一些我之前搜集的面试要点,希望能给大家帮助。 简历准备 好的简历,能让你被企业看到的几率更大,所以简历是要用心去做的,因为简历的初筛都是人事做的,所以尽量在工作职责和项目经验那里写详细点。 雷区:不会的东西不要写,初步了解的东西就写了解,用了...
阅读(745) 评论(0)

[置顶] ApplePay高调入华,教你在app里上线ApplePay

ApplePay在中国上线后,就有许多线上app前后脚加入了对其的接入支持,个人比较喜欢的ENJOY也抢在首批接入了ApplePay应用内支付。本文将分享作者的接入经验。 ApplePay是苹果公司推出的一种线上/线下的便捷支付方式,根据TouchId来验证支付卡持卡人身份,ApplePay并不参与资金流动,最终还是让银行完成扣款处理,目前据Apple介绍只配备在iphone6以上和新款的ipa...
阅读(623) 评论(0)

[置顶] iOS经典资料收集

好资料汇总 1.轻量级,一句代码集成上下拉刷新 https://github.com/LiYueChun/YCRefreshControl 2.如何使用HttpClient http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v...
阅读(272) 评论(0)

[置顶] iOS 学习资料整理

这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的目前所处的位置. 该文档会持续更新, 同时也欢迎更多具有丰富经验的 iOS 开发者将自己的常用的一些工具, 学习资料, 学习心得等分享上来, 我将定期筛选合并, 文档尚有一些不完善之处, 也请不吝指...
阅读(362) 评论(0)

[置顶] GitHub 上排名前 100 的 Objective-C 项目简介

主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. GitHub 地址:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md 若有任何疑问可通过微博@李锦发联系我 项目名称 项目信息 1. AFN...
阅读(286) 评论(0)

[置顶] iOS第三方框架集合

在iOS开发中不可避免的会用到一些第三方类库,它们提供了很多实用的功能,使我们的开发变得更有效率;同时,也可以从它们的源代码中学习到很多有用的东西。 Reachability 检测网络连接 用来检查网络连接是否可用:包括WIFI和WWAN(3G/EDGE/CDMA等)两种工作模式。 现在有更好的替代品:https://github.com/tonymillion/Reachability,比...
阅读(1101) 评论(0)

[置顶] iOS_正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等

//邮箱 + (BOOL) validateEmail:(NSString *)email {     NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";     NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"...
阅读(310) 评论(0)

[置顶] iOS常用的封装方法

做开发也有一段时间了,看了好多大神的代码,总体感觉他们写的代码简洁,好看,然而在对比下我写的代码,混乱,无序,简直不堪入目啊!                 总体来说大神们的代码封装的都比较好,对一个项目要重复用到的代码他们都会封装起来,这样用起来的时候也比较方便,也不用重复的去写这段代码了!                下面是我在开发中封装到的一些经常使用的一些方法,如有写错的地方或者大...
阅读(733) 评论(0)

[置顶] iOS 集成银联支付

当初集成支付宝的时候 觉得见了这么丑的代码 加上这么难找的下载地址 在配上几乎为零的文档 寒哥就要吐血了 下午去集成银联 才知道 血吐的早了 下载地址 https://open.unionpay.com/upload/download/Development_kit85427986.rar 其实我找了半个小时 也不知道怎么就下载好了 这个我在Chrome的下载记录里找到的 ...
阅读(534) 评论(0)

[置顶] iOS时钟动画实现

序言 笔者对动画是很钟情的,今天我们一起来学习学习如何通过Core Animation实现钟的秒针、分针和时针无限动画移动,与苹果手机上的世界闹钟中的秒针、分针和时针类似。通过观察,笔者感觉是动画来实现的,而不是定时针。 不过,这里提供了两种方式来实现: 通过定时器实现刷新,与挂钟一样,移动没有动画效果 通过Core Animation实现,与苹果的世界时钟一样,动画均匀地...
阅读(676) 评论(0)

[置顶] iOS开发之Swift基本语法详解

Swift语言简介 2010 年 7 月,苹果开发者工具部门总监 Chris Lattner(克里斯·拉特纳)开始着手Swift 编程语言的设计工作,用时一年时间,完成开发语言基本架构,经历了4年的开发周期,终于在2014 年 6 月Apple WWDC 发表,用来撰写 OS X 和 iOS 应用程序等。 Swift较Objective-C优点 ? 快速、现代、安全、互动,而...
阅读(401) 评论(0)

[置顶] 公司用到的一些 iOS 开源库和第三方组件

分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有更多的时间和精力能更加专注的做好自己的产品 欢迎大家关注我的 GitHub或微博了解更多关于我的信息 ^_^ 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件...
阅读(395) 评论(0)

[置顶] 集成支付宝钱包支付iOS SDK的方法与经验

没想到,支付宝的SDK是我目前用过的所有第三方SDK中最难用的一个了。 下载 首先,你要想找到这个SDK,都得费点功夫。现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 “请点此下载集成开发包” Baidu和Googlep排在前面的支付宝开放平台,里面的SDK已经是2年前的版本了,而且还不支持64位架构。 文档 压缩包里有两个相关文档 : 《支付宝钱包支付接口开...
阅读(922) 评论(0)

[置顶] UIGestureRecognizer 手势识别

一、概念介绍 UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势 UITapGestureRecognizer(轻触,点按) UILongPressGestureRecognizer(长按) UISwipeGestureRecognizer(轻扫手势) UIRotationGestureRecognizer(旋转手势)...
阅读(4009) 评论(0)

[置顶] iOS最全性能优化(下)

续 性能优化(中) 22. 加速启动时间 快速打开app是很重要的,特别是用户第一次打开它时,对app来讲,第一印象太太太重要了。 你能做的就是使它尽可能做更多的异步任务,比如加载远端或者数据库数据,解析数据。 还是那句话,避免过于庞大的XIB,因为他们是在主线程上加载的。所以尽量使用没有这个问题的Storyboards吧! 注意,用Xcode debug时watchdog并不运行,...
阅读(1673) 评论(0)

[置顶] iOS最全性能优化(中)

续 性能优化(上) 9. 重用和延迟加载(lazy load) Views 更多的view意味着更多的渲染,也就是更多的CPU和内存消耗,对于那种嵌套了很多view在UIScrollView里边的app更是如此。 这里我们用到的技巧就是模仿UITableView和UICollectionView的操作: 不要一次创建所有的subview,而是当需要时才创建,当它们完成了使命,把他们放进一个可...
阅读(703) 评论(0)

[置顶] iOS最全性能优化(上)

导读 性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的限制,有时搞好性能是一件难事。开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响。 iOS最全性能优化(上)http://www.jianshu.com/p/9c450e512020 iOS最全性能优化(中)http://w...
阅读(406) 评论(1)

[置顶] iOS开发即时通讯环境搭建-XMPP

即时通信是一个实时通信系统,允许两人或多人使用网络实时的传递文字,消息,文件,语音与视频交流。 关于XMPP XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。XMPP是可扩展的。可以通过发送扩展的信息来处理用户的需求,以及在 XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易...
阅读(2505) 评论(0)

[置顶] iOS多线程编程——GCD与NSOperation总结

很长时间以来,我个人(可能还有很多同学),对多线程编程都存在一些误解。一个很明显的表现是,很多人有这样的看法: 新开一个线程,能提高速度,避免阻塞主线程 毕竟多线程嘛,几个线程一起跑任务,速度快,还不阻塞主线程,简直完美。 在某些场合,我们还见过另一个“高深”的名词——“异步”。这东西好像和多线程挺类似,经过一番百度(阅读了很多质量层次不齐的文章)之后,很多人也没能真正搞懂何为“异步”。 ...
阅读(1589) 评论(0)

[置顶] 实时显示iOS编写UI代码效果

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码。采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发速度。但面临一个问题就是多人协作开发,由于所有的UI都放在同一个Storyboard文件中,使用Git/SVN合并代码就会出现冲突。多人协作开发还不是主要问题,有人提出可以创建多个St...
阅读(500) 评论(0)

[置顶] UIAlertController使用

昨天苹果正式推送的iOS9。当天在网上就看到了很过开发朋友就在说可以放弃iOS7了(当然还要支持iOS6的朋友们不要哭)。我们基本遵守支持最新的2-3个iOS版本。如今iOS9正式推送后,估计大部分开发朋友在不久的将来也要最低支持iOS8了。那么,上面的标题种UIAlertController就是在iOS8推出的新类。 UIAlertController基本可以简单的理解为UIAlertCont...
阅读(286) 评论(0)

[置顶] iOS开发数据持久化之-CoreData

CoreData使用了面向对象的方式来操作数据,负责在数据库中存储数据.它的底层就是使用类似于SQL的技术来实现的.CoreData提供了一种简便的对象持久化管理方式,让我们可以不关心数据的存储,只需关心对象的增加,删除,更改,读写就好了. CoreData介绍 CoreData是苹果公司封装的数据持久化框架,在iOS3.0中开始开放.它允许用户按照实体-属性-值模型组织数据,并以...
阅读(1044) 评论(0)

[置顶] OC字符串的常用方法

网上写的关于字符串常用方法的博客很多,这里我简单做了下总结!不喜勿喷哦! 一.创建字符串 #import //NSString //创建不可变字符串对象的类 //NSMutableString //创建可变字符串对象的类 //OC语言完全兼容C语言 //OC字符串与C语言字符串区别 //1.OC字符串是一个字符串对象,字符串常量需要用@""包含 /...
阅读(214) 评论(0)

[置顶] iOS动画——Layer Animations(三)

我胡汉三又回来啦,忙过了前一段时间以后,今天又给大家带来了两个动画,一个是形变、一个是颜色渐变。如下所示: 动画来源《iOS Animation by tutorials》 源码在github,地址在本文最后。 第一个动画: 我们来分析一下第一个动画,两个头像的位移我们前面已经讲过了,今天主要讲讲形变,在这个动画里一个是变椭圆,一个是变回正方形。 这两个忍者(这里以及后面...
阅读(242) 评论(0)

[置顶] iOS动画——Layer Animations(二)

上一篇我们初步了解了一下Layer Animations,并且做了一个还算看的过去的动画,这一篇继续介绍一些Layer Animations的一些使用。 这是上一篇的地址: iOS动画——Layer Animations(一) (感觉不错的话请关注我哦~) Core Animation相对于UIView Animation的优势在哪呢,其一就是你能够操作动画的过程,对动画的操作更加详细。 ...
阅读(188) 评论(0)

[置顶] iOS动画——Layer Animations(一)

Layer Animations与我们前面第一篇讲过的View Animation有点类似,但是Layer Animation比之多了很多效果,更加强大。 我们先来看一下今天我们要实现的效果,今天实现的效果用第一篇View Animations能实现相同效果。 本文所讲为实现此动画的相关知识。 动画由书籍《iOS Animations by tutorials》提供,我只...
阅读(171) 评论(0)

[置顶] iOS KVC和KVO

写在前面:   关于KVC和KVO各种博客多了去了,重新整理下,就当是温习一下吧,也还算是个新手,不对的地方请指教,喜欢的点个喜欢什么也是挺好。 一,KVC   KVC也就是key-value-coding,即键值编码,通常是用来给某一个对象的属性进行赋值,例如有人这么一个类,其对外有两个属性,姓名和年龄,我们在创建了一个人p后可以通过点语法直接给p赋值。 Person *p = [[Pe...
阅读(161) 评论(0)

[置顶] iOS HTTP详解

一、简介 在介绍HTTP之前,我们先来了解一下URL 1、URL 什么是URL URL的全称是UniformResource Locator(统一资源定位符)URL的基本格式 =协议://主机地址/路径 协议:不同的协议,代表着不同的资源查找方式、资源传输方式主机地址:存放资源的主机(服务器)的IP地址(域名)资源在主机(服务器)中的具体位置 URL...
阅读(192) 评论(0)

[置顶] iOS 开发 之 网络编程

如果此文帮助了您,请点击喜欢或评论,如果您喜欢我的文章请关注我,您的支持永远都是我前行的动力. 注意 1.发送请求 url : = 网络协议(http://今后可能是https) + 文件路径? + 参数1 & 参数2 ... 2.接收响应 3.创建连接对象传输数据 xcode7 之后若想要使用http,需要修改info.plist文件 NSAppTranspor...
阅读(312) 评论(0)

[置顶] iOS RunLoop总结

一、简介 什么是RunLoop 运行循环基本作用: 保持程序的持续运行,如果没有RunLoop,程序执行完main函数就结束了。处理App中的各种事件(比如触摸事件、定时器事件、Selector事件)节省CPU资源,提高程序性能:该做事时做事,该休息时休息...... main函数中的RunLoop 在UIApplicationMain函数内部就启动了...
阅读(222) 评论(0)

[置顶] iOS 多线程基础

一、进程 进程是指在系统中正在运行的一个应用程序,例如:我们打开QQ是一个进程,打开Xcode也是一个进程每个进程之间是相互独立的,每个进程均运行在其专用且受保护的内存空间内 图解.png 二、线程 线程是进程的基本执行单元,1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)一个进程(程序)的所有任务都在线程中执行注意:1个线程中任务的执行是串行的 三、...
阅读(362) 评论(0)

[置顶] Runtime那些事儿(消息机制)

一、关于runtime 之前在项目中有遇到过用runtime解决改变全局字体的问题,所以再一次感受到了runtime黑魔法的强大,趁现在有机会分享一下对runtime的一些理解。在对象调用方法是Objective-C中经常使用的功能,也就是消息的传递,而Objective-C是C的超集,所以和C不同的是,Objective-C使用的是动态绑定,也就是runtime。Objective-C的消...
阅读(261) 评论(0)

[置顶] Apple Pay接入详细教程

Apple Pay运行环境:iPhone6以上设备,操作系统最低iOS9.0以上,部分信息设置需要iOS9.2以上。目前还不支持企业证书添加。 环境搭建好后可以在模拟器上面运行,xcode7.2.1+iPhone6SP9.2系统下,系统会绑定几种虚拟的银行卡,和几个联系人,方便调试,支付也不会发生真实的付款,真的很方便。 [TCO] 准备工作 在接入Apple Pay之前,首先要申请Mer...
阅读(2114) 评论(0)

[置顶] EXC_BAD_ACCESS的本质详解以及僵尸模式调试原理

有时候,你会遇到由EXC_BAD_ACCESS造成的崩溃。 这篇文章会告诉你什么是EXC_BAD_ACCESS,以及它产生的原因。我还会提供一些EXC_BAD_ACCESS错误的解决方案。 1. 什么是 EXC_BAD_ACCESS? 一旦你理解EXC_BAD_ACCESS的本质,你就会更好地理解这个模糊的名词。这里有一个极为简单的解释,也有一个技术层面的解释。我们首先从简单的解释开始...
阅读(239) 评论(0)

[置顶] iOS开发:WebKit、Safari以及SafariViewController

自iOS问世以来,iOS 和web总是形影相随。毕竟,当iOS诞生的时候,网站已经有15年的历史了(第一个网站的创建甚至可以追溯到1991年,而iOS在2007年才出现)。iPhone出现的时候就已经有很多的web内容了,这样iOS必须提供一种方法来显示web内容。 在iOS 9中,我们有不同的方法来渲染web内容,并且根据具体的需求,开发者可以评估不同的方法,然后选择一个更适合他们的方法。...
阅读(268) 评论(0)

[置顶] iOS下的实际网络连接状态检测

序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求。为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示。对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,比如这个库。但事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态;这种情况包...
阅读(255) 评论(0)

[置顶] 七个Swift中的陷阱以及避免方法

文章总结翻译自:Seven Swift Snares & How to Avoid Them Swift正在完成一个惊人的壮举,它正在改变我们在苹果设备上编程的方式,引入了很多现代范例,例如:函数式编程和相比于OC这种纯面向对象语言更丰富的类型检查。 Swift语言希望通过采用安全的编程模式去帮助开发者避免bug。然而这也会不可避免的产生一些人造的陷阱,他们会在编译器不报错的情况下...
阅读(253) 评论(0)

[置顶] Storyboard的爱与恨

尽管现在已经是Apple将Storyboard整合进Xcode中的第四个年头,大家对于Storyboard的评价仍然褒贬不一。有早期就选择转向Storyboard用于UI开发的国内业界领头人物,也有创建项目就立马删除Storyboard的大牛。我经历过纯代码布局,同时也在多个多人合作项目中使用Storyboard开发界面。在初期绕过各种坑后,Storyboard将会是快速构建UI界面的好帮手,特别...
阅读(1046) 评论(0)

[置顶] Masonry介绍与使用实践:快速上手Autolayout

前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window...
阅读(288) 评论(0)

[置顶] 深入浅出--iOS的TCP/IP协议族剖析&&Socket

简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP、HTTP;还有Socket。(--该文很干,酝酿了许久!你能耐心看完吗?) 我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角是--传输层协议。 传输层(Transport Layer)是OSI(七层模型)中最重要、最关键的一层,它负责总体的数据传输和数据控制的一层,传输层提供端到端(应用会在网卡注册一...
阅读(440) 评论(0)

[置顶] iOS/OS X 内存管理(二):借助工具解决内存问题

上一篇博客iOS/OS X内存管理(一):基本概念与原理主要讲了iOS/OSX 内存管理中引用计数和内存管理规则,以及引入ARC新的内存管理机制之后如何选择ownership qualifiers(__strong、__weak、__unsafe_unretained和__autoreleasing)来管理内存。这篇我们主要关注在实际开发中会遇到哪些内存管理问题,以及如何使用工具来调试和解决。 ...
阅读(271) 评论(0)

[置顶] iOS/OS X内存管理(一):基本概念与原理

在Objective-C的内存管理中,其实就是引用计数(reference count)的管理。内存管理就是在程序需要时程序员分配一段内存空间,而当使用完之后将它释放。如果程序员对内存资源使用不当,有时不仅会造成内存资源浪费,甚至会导致程序crach。我们将会从引用计数和内存管理规则等基本概念开始,然后讲述有哪些内存管理方法,最后注意有哪些常见内存问题。 memory manag...
阅读(226) 评论(0)

[置顶] 放肆地使用UIBezierPath和CAShapeLayer画各种图形

CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。 杂谈 在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样: 1 2 3 4 5 let layer = CAShapeLayer() layer.f...
阅读(227) 评论(0)

[置顶] H5 缓存机制浅析 移动端 Web 加载性能优化

1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离线存储,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。 H5 应用程序缓存为应用带来三个优势: 离线浏览 用户可在应用离线时使用它们 速度 已缓存资源加载得更快 减少服务器负...
阅读(2833) 评论(1)

[置顶] iOS面试题总结(超全)

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。 2. #import 跟...
阅读(1135) 评论(0)

[置顶] UIImagePickerController全面使用详解

转载自:http://blog.csdn.net/kingsley_cxz/article/details/9157093 1.UIImagePickerController的静态方法:     imagepicker = [[UIImagePickerController alloc]init];     //UIImagePickerController静态方法判断设备是...
阅读(294) 评论(0)

[置顶] Interface Builder一些使用技巧

当年轻的开发者朋友们写了一大堆的代码时,他们会觉得很高兴,并且喜欢夸耀自己写的项目有成千上万行代码。 随着经验越来越丰富,我们意识到代码是昂贵的,因为要花很多时间去维护、调试和寻找原因。 这也是为什么我们应该使用工具来帮助我们避免写出样板代码。Interface Builder就是这些工具中的一个。 下面说一些我喜欢的小提示和技巧。 Storyboards还...
阅读(255) 评论(0)

[置顶] XMPP客户端登录开发详解

XMPP客户端登录开发详解 OpenfireXMPP登录 由上篇文章将了如何在MAC本地搭建一个Openfire服务器,今天我们就要着手使用 XMPPFramework来开发 基于XMPP 协议的即时通讯IOS 客户端系统。今天主要看登录功能开发,可能有人会质疑,我们都没有开发注册功能,怎么开发登录功能。注册账号我们有捷径,服务器都在本地,当然很好做了。另外就是通过MAC 自带的客...
阅读(268) 评论(0)

[置顶] 推荐:多线程的实现方式及经典示例

iOS中实现多线程的技术方案 pthread 实现多线程操作 代码实现: void * run(void *param) {     for (NSInteger i = 0; i         NSLog(@"---buttonclick---%zd---%@", i, [NSThread currentThread]);     }     return N...
阅读(323) 评论(0)

[置顶] iOS百度推送的基本使用

一.iOS证书指导 在 iOS App 中加入消息推送功能时,必须要在 Apple 的开发者中心网站上申请推送证书,每一个 App 需要申请两个证书,一个在开发测试环境下使用,另一个用于上线到 AppStore 后的生产环境。 7.1 为你的 App 创建 App ID iOS 中每个 App 都需要对应一个 App ID,同一个公司可能会使用类似于 com.example.*...
阅读(1446) 评论(1)

[置顶] iOS多线程的基本使用

一、NSThread: 程序就是一段代码,是静态的概念 进程是运行起来的程序,是动态的概念,进程需要占内存空间 线程是进程的基本单位,一个进程至少有一个线程,iOS程序默认有一个主线程,用来显示和操作UI,主线程由系统自动创建,有系统管理。如果主线程不能满足我们的需求,可以手动创建线程,手动创建的线程需要我们自己管理。 1.例:让一个...
阅读(312) 评论(0)

[置顶] C语言进制转换

//进制转换 //十进制: 0 1 2 3 4 5 6 7 8 9  10 11 ... 99 100... //十进制是人类最自然的语言 //计算机 //二进制: 0 1 //有高低电平  约定高点平为 1 低电平为0 //10100101010 //5+6 //机器语言 //1010010101010 //1010101010010 //10101010...
阅读(340) 评论(0)

[置顶] iOS极光推送

昨天花了一下午的时间研究了下极光推送,也前也是没做过,不知道从何下手!才开始的时候一看官方的SDK感觉好难,不过经过一系列的捣鼓之后,手机收到了推送信息,感觉其实并没有那么难! 1.配置开发证书(得有开发者账号,个人,企业的都可以) 开发环境测试 在对 JPush iOS 开发环境进行测试前,请确保 3 个统一: App 是开发环境打...
阅读(5284) 评论(0)

[置顶] iOS cocoPod的基本使用

虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用. 前言 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。 什么是CocoaPods CocoaPods是OS X和iOS下的一个...
阅读(1278) 评论(0)

[置顶] 关于iOS百度地图的基本使用

最近一段时间一直都想写一篇博客,想来想去不知道写些什么,因为刚进入iOS这个行业不到两个月(正式上班时间 )也没学到很高深的经验技术啥的,真不知道有啥知识和大家分享的,另外一点怕写错了东西,被别人笑话,哎!我这个人就是要点面子,不过经过再三的思考还是决定放下面子,分享点东西给大家,虽然说我懂的不是太多,不过我想我分享的东西对一些刚进入iOS开发的新手们还是有些帮助的,还请大家高抬贵手,不喜勿喷哦!...
阅读(2413) 评论(0)
562条 共29页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:799871次
    • 积分:8772
    • 等级:
    • 排名:第2402名
    • 原创:11篇
    • 转载:550篇
    • 译文:1篇
    • 评论:81条
    最新评论