UIKit动画

提供一些辅助工具,用于为常见的 UIKit 操作添加动画效果,例如设置文本

简介

这个库提供了一些辅助函数,可以方便地为常见的 UIKit 操作添加动画效果,例如设置文本和图像。

UIView

示例

view.performTransition {
	// update some complex view here, changes will crossfade
}

view.performTransitionIfNeeded(animated: true) {
	// update some complex view here, changes will crossfade
}

// indicates an error by shaking a textfield
inputTextField.shakeWithHapticErrorFeedback {
	inputTextField.becomeFirstResponder()
}

UIImageView

示例

imageView.setImage(UIImage(systemNamed: "gearshape"), tintColor: .red, animated: true)

UILabel & UITextView

示例

label.setText("New text", animated: true)
textView.setAttributedText(newAttributedText, animated: true)

UIWindow

示例

window.setRootViewController(newViewController, animated: true)

DisplayLink

DisplayLink 是 CADisplayLink 的一个小型封装,它使用 block 回调,并在 display link 被释放时停止它。

示例

var displayLink = DisplayLink.started {
	print("frame")
}

DispatchQueue.main.asyncAfter(.now() + 1) {
	displayLink = nil
}