[返回] [最新] [最热门] [最高评价]

iPhone X 下关闭 UIScrollView 自动调整 ContentInset

项目开发了三分之一,才想到在 iPhone X 上去跑一跑,一跑吓一跳,各种 UI 上的布局错误。本着尽快将问题消灭在萌芽阶段,于是接下去决定使用 iPhone X 作为默认模拟器去开发。本篇介绍修复一则非常常见的,即 UIScrollView 的 ContentInset 不对的问题。

问题是这样的

App 在 iPhone X 上模拟器打开,中间空了一大块(不重要的部分已经打码),这是怎么
...

图拉鼎 2017-10-19 22:30 | 查看: 478

使用 RxTest 来建立基于 RxSwift 的自动化测试

最近开始一个 iOS 新项目,我开始完全用 RxSwift 来构建所有逻辑了。本篇文章将讲述如何通过 RxTest 来架设起一个「响应式」的自动化测试环境。

我学习和使用 Rx 的经历

RxSwift(或 Reactive 响应式编程),我了解还算早,但是一直没有全面地采用它。一方面有项目的原因,经典项目因为忙着加 Feature,牵扯的地方比较多,所以只会谨慎局部使用,采用不多,比如奇点,只
...

图拉鼎 2017-09-22 21:47 | 查看: 500

你需要了解的 Swift 4 新东西之 Substring

Swift 4 正式版已经随着 iOS 11 和 Xcode 9 的发布而发布了。

这是一个值得受好评的版本,很重要的一点是,它改变了 Swift 被人吐槽最多的一个问题:每个版本因为不兼容的问题,都要重写。Swift 4 有着 Swift 3 语法兼容模式,这意味着你不用改一行代码,就可以在 Xcode 编译通过。这对大型 iOS 项目而已非常重要:我们可以在未来的一年从一个 Target、一
...

图拉鼎 2017-09-20 21:01 | 查看: 447

关于 iOS 11 GM 及正式版可能存在几个小问题

还有几个小时,iOS 11 正式版就要发布了。而在前天,我却从 iOS 11 GM 降级回了 iOS 10。这是我用 iOS 系统七年以来,第一次因为 GM 用的不愉快而回到旧系统。这篇文章,我想谈谈对 iOS 11 的一些看法。

我是在 Apple 发布会结束后的那天,把自己的 iPhone 6s 更新到 iOS 11 GM 的。更新的形式用的是备份原手机,下载 iOS 11 GM 的 ROM
...

图拉鼎 2017-09-19 20:57 | 查看: 488

从 iPhone 6 来谈 iPhone X 的「刘海」(附购买建议)

Apple Special Event 结束已经快一周了,我的情绪也慢慢地稳定了下来:从刚开始的「失望」,到现在的肯定和充满「期望」。先从我的「失望」说起。

对 iPhone X 的「失望」

看完发布会的时候,我在社交网络上吐槽了好几天,表达对了 Apple 连连的「失望」。这个「失望」很大程度上来自我对「泄漏」的失望,关于 Apple 发布会的信息,竟然泄露的一干二净,没有一点保留,这是其一
...

图拉鼎 2017-09-18 19:58 | 查看: 415

使用标准方式在 Ubuntu 16.04 下启用 TCP 拥塞控制之 BBR

我是这 Ubuntu Server 系列文章的第二篇,讲讲如何在 Ubuntu 16.04 LTS 下通过最标准的方式启用 TCP 拥塞控制之 BBR。

BBR 简介

BBR 是 Google 推出的一个「TCP 拥塞控制算法」,它是以 Linux 内核模块的形式加载,可以最大化 Linux Server 的网络吞吐量。

简单地说,开启 BBR 的 Linux Server 和不开启 BBR
...

图拉鼎 2017-09-17 11:36 | 查看: 435

为 iOS 11 适配工具栏(UIToolbar)一例

升级到 iOS 11,你可能会发现你的 App 的工具栏的行为出了点异常。比如奇点,我在使用过程中,发现工具栏时灵时不灵,感觉很难点到。这是怎么回事?通过 Xcode 的 Debug View Hierarchy 功能,我发现了问题所在:

注意看下图,ToolBar 里面的按钮的矩形可触模区域非常小,紧贴着图片。这就是为什么点击时灵时不灵的原因。

当我还在用 Xcode 8 + iOS 10
...

图拉鼎 2017-09-15 23:15 | 查看: 716

我的 Ubuntu Server Setup:基础篇

用 Ubuntu 有十年多了,近几年有什么项目需要用到 Server 的,基本上也都是直接用 Ubuntu,原因无它,熟悉+社区支持度。

每次去新设定一个 Ubuntu Server 的时候,总会做一些重复的动作,怪麻烦的。今天我就整理这么一篇《我的 Ubuntu Server Setup》,列一个我开启 Ubuntu Server 必做的一些操作。当然因为不同的云厂商提供的默认环境不一样,有些
...

图拉鼎 2017-09-14 23:12 | 查看: 760

用 Swift 判断 iPhone X 机型

Apple Special Event 已经结束,iPhone 三款新机型和技术细节也已完全暴露。可以说,发布会前泄漏了 95% 以上的信息,以致于发布会一点惊喜也没有。

尽管 iPhone 8 实际上只是 iPhone 7s,而 iPhone X 我们也早已对它非常熟悉——特别是刘海。无论是满意还是失望,作为 iOS 开发者的我,还是得积极的适配起这款面向未来的机型。

我将在一边适配的过程中
...

图拉鼎 2017-09-13 23:06 | 查看: 775

写在 2017 Apple Special Event 之前

还有几个小时,Apple Special Event 就要开始了。尽管此次围绕这个 Event 的泄漏非常严重,严重到 iOS 11 GM 都泄漏了,但还是有非常多的东西有待揭晓。我想在最后揭晓之前,我自己做一个备忘和猜测。

泄漏的消息们

回顾一下过去一个月甚至几个月的新闻,这次发布会,我想已经有这么多信息可以说是确定无疑了:

会发布 iPhone 8,iPhone 8 Plus 以及 iP
...

图拉鼎 2017-09-12 20:05 | 查看: 599

Swift 5 的蓝图:ABI 稳定

今天凌晨,我看到 Swift 开发小组的现任掌门 Ted Kremenek 贴出了名为「Swift 5: start your engines」的一条

Twitter

,预示着 Swift 5 的开发工作即将展开了。

老实说,Swift 4 的变化不大,而且有一些「反复」的修改,比如:String 又变成 collection,private 和 fileprivate 的反复。好
...

图拉鼎 2017-08-09 20:33 | 查看: 539

Swift 5 的蓝图:ABI 稳定

今天凌晨,我看到 Swift 开发小组的现任掌门 Ted Kremenek 贴出了名为「Swift 5: start your engines」的一条 Twitter,预示着 Swift 5 的开发工作即将展开了。

老实说,Swift 4 的变化不大,而且有一些「反复」的修改,比如:String 又变成 collection,private 和 fileprivate 的反复。好在做好了 Swi
...

图拉鼎 2017-08-09 16:44 | 查看: 547

...更多...