CF Blog

除非你做点什么,否则任何事情都不会改变。

iOS 关于 UIView 重绘的几个接口

触发UI重绘

在更新数据时,往往伴随着更新 UI 布局。如何触发系统去刷新 UI 绘制呢?以下方法你需要了解一下。 setNeedsLayout Invalidates the current layout of the receiver and triggers a layout update during the next update cycle. Call this method on your...

Building Objective-C static libraries with categories

something fun in yykit

Q: How do I fix “selector not recognized” runtime exceptions when trying to use category methods from a static library? 如何解决 在 runtime 环境中尝试调用静态库中分类的方法时,报 “selector not recognized” 异常?   今天在...

UITextField 随键盘高度自适应

键盘输入那些事

  在开发APP过程中,不免会遇到页面需要多个 UITextField 的需求,那么问题来了:当输入框过多时,弹起键盘会遮盖住输入框,或者需要依次点击输入框才能输入。用户的输入体验非常差。为解决这个问题,我们让输入框跟随键盘自动调整高度,并且点击回车键自动跳转到下一个输入框进行输入。 具体效果如图: 需求分析:   简单分析一下: 点击输入框时,输入框随着键盘弹起,自动调整高...

使用 shell 脚本配置iOS工程生成多个APP

shell 脚本减少重复

  APP开发过程中,往往需要在多个网络环境或配置中进行切换,以获取不同配置的APP,甚至有时需要用一套代码经过简单的配置生成不同的APP。而手动配置费时费力,且容易出错。这里介绍用脚本工具,去生成不同配置的APP工程。 1. 需求分析 在配置工程中我们需要事先知道有哪些配置项: APP 启动图、图标等资源文件。 APP 名称、版本号、bundleID。 APP 相关的微...

圆角渲染需要注意的事

iOS 圆角+阴影+离屏渲染问题 在近一期开发需求中,有个控件需要同时添加圆角和阴影效果。本以为是个非常简单的需求,但开发过程并不十分美丽。今天就整理一下控件添加圆角和阴影一些需要注意的地方。 为什么给一个控件同时添加 阴影和圆角这么困难呢?一句话解释就是: Because shadow is an effect done outside the View, and that ma...

CocoaPods 私有库搭建

私有三方库

在 iOS 开发过程中,经常会使用cocoapods管理三方库,如果自己的库不想公开,只方便自己公司的人用,该怎么办呢?这里介绍一下如何搭建一个私有的Pods库。 CocoaPods的原理 创建私有库 CocoaPods的原理 第三方库会被编译成.a静态库供我们真正的工程使用。 CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工...

Haskell 函数式编程

函数式编程

Haskell 与 Java、C++不同,它是纯函数式的编程语言,说到函数式编程,函数式与面向对象编程究竟有哪些不同?在这里将会介绍一下函数式编程的特点和起源。 编程范式: 在介绍 Haskell 之前,说一说编程范式,编程范式可简单划为两类: 命令式编程 (Imperative programming) 声明式编程(Declarative programming) ...

Blog 搭建与部署

搭建自己的博客

  将纯文本转换为静态博客网站,并将博客部署到 GitHubPage,绑定自有域名方便大家访问。   在搭建自己的博客网站时,我希望只专注于组织内容,页面生成、部署等其他不关键的工作尽量简单。现在已经有了比较好的方案可以满足以上需求。在这里介绍如何花费较少的精力去搭建一个静态页面的个人博客。在这里只说一下大概过程,具体细节 search the web,你会得到你想要的一切。 1. 博客...

支付宝支付 微信支付SDK接口不统一? 盘他!

接口设计

  开发过支付宝、微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手。在这里,统一封装微信支付和支付宝支付的API,使两种支付方式对外提供一致的调用接口。    首先我们来看支付宝支付SDK的API是怎么设计的: 1 2 3 4 5 6 7 8 9 10 11 12 /** * 支付接口 * * @para...

不期而遇-网络上的小贝壳

不期而遇-网络上的小贝壳

在网络上不时会遇到包含真知灼见的文章或句子,在这里摘抄下来,供自己时不时重温一下 生活就是当你忙着制定其他计划时,发生在你身上的事情。 – 约翰·列侬 2023-08-11 所有堆积如山的东西,都是不可预测的。 简化系统的首选方法,就是将一个大系统,转变为多个更小的子系统组成的系统。 《系统、数学和爆炸》 2023-08-04 科学研究最重要的行为准则之一,就是”不要相信权威的话...