SketchK's Studio.

SketchK's Studio.

Keep It Simple And Stupid

Dark Mode 适配工作小指南

Dark Mode 作为 iOS 13 的新特性之一,为 App 的呈现方式带来了更多的可能,但也给开发者带来了大量的适配工作。

UIBarButtonItem 在 iOS 11 上的改变及应对方案
总览在 iOS 11 之后,Apple 在导航栏中启用了自动布局的相关特性,这使得导航栏的使用方式发生了一些变化,今天我们着重说说导航栏中 UIBarButtonItem 在 iOS 11 中的几点变化。 主要变化 视图层级的变化 点击区域的变化 与屏幕间距的变化 视图层级变化表现形式在 WWDC 2018 的 Updating Your App for iOS 11中,我们可以知道 UINavigationBar 开始支持 Auto Layout 了。 这对于 UIBarButtonItem 来讲,意味着什么呢?通过 view debug 工具我们可以发现,所有的 item 会被一...
UIAppearance 使用指北
UIAppearance 使用指北UIAppearance 的简介在 UIAppearance 出现之前,开发者如果想统一修改 app 内某一个控件的 UI 样式时,只能通过去修改每个控件的实例属性,对于只有几个实例的 UI 控件来说,这样的修改还可以接受,但如果整个 app 中有几十个,甚至上百个实例的时候,这样的修改就显得相当笨拙了,当然你也可以考虑使用一些黑魔法来实现,不过这或多或少都给开发者带来了不少麻烦。 除了上面提到的场景外,还有一种场景就是在 app 内提供多种多样的主题来满足用户的需求,例如手淘在 app 内提供的主题切换功能。 上面这两个实际开发中的应用场景都映射出这...
iOS 中的抗锯齿处理思路小结
当 UI 控件由于旋转或者图片自身问题而产生锯齿现象的时候,我们通常有三种解决方案: 开启UI控件的抗锯齿功能 绘制带有 1 像素透明边的图片 使用更清晰的素材 以下面的例子为例,左侧为非抗锯齿视图,右侧为抗锯齿视图: 锯齿现象的细节 开启抗锯齿功能当锯齿现象是由于 UI 控件自身引起的时候,例如旋转,形变等,我们就可以使用iOS 自带的抗锯齿功能来解决这一问题。 如果想开启全局抗锯齿的话,可以在 info.plist 中加入以下 key-value。 但由于该功能会造成性能上的损耗,苹果官方并不推荐使用这种全局开启的方式,我们只需要对特定的视图开启即可 1layer.all...
Xcode 代码块工具简介
Xcode 代码块功能简介工具位置 编辑器右侧的工具面板, 点击 { } 图标 使用方式 拖拽 代码块 输入 代码块 快捷键 内置的代码块类型 C 的 enum,struct union,和 blocks 的 typedef 声明 C 控制流语句像 if,if...else,和 switch C 循环,像 for,while,和 do...while C 内联 block 变量声明 Objective-C 的 @interface 声明(包括类扩展和分类),@implementation,@protocol Objective-C 的 KVO 样板,包括相对模糊的 keyPath...
【翻译】- Quick Guide: Animations With Uiviewpropertyanimator
iOS 10 带来了一堆非常有意思的新特性,例如 UIViewPropertyAnimator。这是一个能够改善动画处理方式的新类。 它彻底改变了我们所习惯的工作流,为动画逻辑添加了一个更为精细的控制手段。 一个简单例子让我们看看如何创建一个改变视图中心的动画。 1234let animator = UIViewPropertyAnimator(duration: 1.0, curve: .easeOut){ AView.center = finalPoint}animator.startAnimation() 这里至少有 3 点值得去关注: 动画是通过一...
【翻译】- Custom Controls: Button Action With Confirmation Through 3D Touch
在我看来,3D Touch 是能够追踪用户按压屏幕力度、并且是 iOS 的触碰处理中最有意思且未被充分挖掘的一个能力特性。 通过这个教程,我们会创建一个自定义的按钮,并且要求用户通过 3D Touch 操作进行确认。如果用户的设备不支持 3D Touch,控件对用户的处理也会回退到备选方案。下面是预览视频,它能够让你快速了解这个自定义控件是如何工作的: 当用户开始点击屏幕时,一个圆形的进度条就会跟踪用户按压屏幕的力度。用户按压屏幕的力度会影响圆形视图填充进度,按得越用力,圆就被填充得越多(稍后我会展示在不支持 3D Touch 的设备上模拟该行为)。 当圆形被填充满的时候,它会变...
avatar
SketchK
Do One Thing And Do It Well