Hanson's Blog.

Hanson's Blog.

Viva La Vida

上架个小工具-ImageGotcha
上架了个小工具。ImageGotcha 是一个 Safari 的 Action Extension,它可以提取当前网页的图片方便查看和批量保存,比如可以去某些 Instagram 用户的主页批量下载图片,或者下载 Bing 的每日背景图等等。点击 这里 到 AppStore 查看。 ImageGotcha 也做了国际化,支持英文、简体中文、繁体中文、日语以及韩语。要想使用ImageGotcha,需先在 Safari 开启这个Extension,App 内有操作指导,如下图是各种语言的指导说明: 这是演示如何启动 ImageGotcha 的 Action Extension: 这是...
使用SVN建立和发布私有CocoaPods库
[TOC] SVN 项目结构首先,一般 SVN 项目有如下的结构: trunk:项目主干 branches:开发或者 Bug 分支 tags:发布的版本 比如说我们已经写好了一个 CocoaPods 的库,它的名字是 xxxKit,那么它应该在看起来是这样的: 建立 CocoaPods 库我们在 trunk 的目录下执行 pod lib create xxxKit 按照提示输入后,在该目录下就会利用 CocoaPods 的模板生成了一个项目。我们主要关注xxxKit.podspec 这个文件。 修改 xxxKit.podspec,比如: 123456789Pod::Spec...
通过RunScript给iOS项目自增版本号(Versioin和Build)
需求分析 在打包应用之后,需要自增 Version 的最后一位 和 Build 的值。 只在 Archive(Release) 的时候触发该自增。 添加 RunScript在 项目Target -> Build Phases -> 点击+号 -> New Run Script Phase 然后添加如下内容:1234567891011121314151617181920if [ $CONFIGURATION == Release ]; thenecho "当前为 Release Configuration,开始自增 Build"plist=${INFOPLI...
PathToGo诞生记
不知道大家在使用 Mac 的时候有没有这样的需求: 经常需要获取当前文件或者文件夹的路径,并且复制到粘贴板。 对于我来说经常有这种需要,然后我就从网上再结合自己的经验,找了好几种方法: 右键-选择「显示简介」,然后在弹出的窗口里直接用鼠标拖动复制「位 置」里的路径。 ​ 缺点:麻烦。 把文件拖到浏览器,在浏览器地址栏复制路径。 ​ 缺点:麻烦。 打开终端,把文件拖入终端,终端会把文件路径打印出来,然后复制。 ​ 缺点:麻烦。 打开终端,cd到目标目录,然后输入 「pwd|pbcopy」就可以把路径复制到粘贴板。 ​ 缺点:麻烦。 选择...
用SwiftGen管理UIImage等的String-based接口
问题现状平时我们使用UIImage,UIFont,UIColor会遇到很多String-based的接口方法,比如常用的UIImage:1let testImage = UIImage(named: "test") 对于上面的代码,如果我们把 test 拼写错了,Xcode 并不会给出提示,只有当我们运行的时候才会收到报错,这样维护起来是有一定成本的。 代码解决我们可以用类似如下的代码来解决这个问题:1234567891011121314151617181920212223242526import UIKit.UIImagestruct ImageAssets { fi...
Swift 实现启动屏动画
Github: SplashAnimate 准备工作:首先我们需要确定作为宣传的图片的宽高比,这个一般是与 UI 确定的。一般启动屏展示会有上下两部分,上面是宣传图片,下面是 App 的 Logo。 实现基本思路:在 LaunchScreen 结束后,在 AppDelegate 中将 rootViewController 指向展示广告用的 AdViewController,在AdViewController 中设置一段时间后自己销毁,并提供回调方法在 AppDelegate 中将 rootViewController 指向 App 真正的首页。 实现细节:新建一个 AdViewCo...
记一次失败的 Swift 元组数组实践
想建立一个元组的数组,来简单存放构建 TabViewController 的信息首先我的做法是1234567let homeTab = (vc: VYHomeViewController(), title: "Home", image: "home_gray", selectedImage: "home_blue")let infoTab = (vc: VYInformationViewController(), title: "Info", image: "home_gray", selectedImage: "home_blue")let marketTab = (vc: VYMar...
自定义 UISegmentedControl 样式
系统的 UISegmentedControl 是个挺方便的控件,这里来讲讲在 Swift3 下自定义 UISegmentedControl 的样式,包括修改底色,边框颜色等等。 要了解 UISegmentedControl 各个部分的组成,可以在官方的文档中找到 UISegmentedControl 文档 。着重注意这个图: 上面这幅图明确的列出了 UISegmentedControl 各个部分所控制的方法。下面就开始自定义吧。 首先我们先做一个通过颜色生成图片的的一个扩展方法:1234567891011121314extension UIImage{ publ...
HSStockChart介绍
HSStockChart 是一个绘制股票分时图、K 线图的库。支持流畅的回弹拖动,长按十字线,捏合放大缩小等功能,主要使用了 CAShapeLayer 来绘图,相比使用 Core Graphics 和重写 drawRect 的方法更高效,占用内存更小。GitHub 地址:HSStockChart 功能 支持绘制分时图,五日分时图,K 线图,MA 线指标,交易量柱等。 支持横屏查看。 K 线图利用 UIScrollView 达到流畅的滑动查看效果。 使用 CAShapeLayer 绘图,内存占用更小,效率更高。 版本需求 iOS 8.0+ Swift 3 说明 之前绘图...
Hanson Zhang
witness me