很久以前就发现很多app的桌面组件实现了类似于动画的连续的转动功能,这个是不同于刷新线刷新偏移量或者位移的实现,一直很纳闷不支持动图和动画的组件是如何实现的,文档也没找到实现方式。
后来测试一些方法实现类似效果,高版本xcode不支持,所以直接做了个简单的封装,直接下载拉进项目就能用!
应大家的需求,把实现扔出来。但是实际上高版本这个实现的api已经移除,所以不知道到底这么实现会不会被苹果“优待”~ 所以各位下载了自己实现玩玩,以此功能上架APP引起不妥,概不负责哦~
使用:
将ZBWWidgetRotationKit.framework 拉进项目 引用 import ZBWWidgetRotationKit
直接调用:ZBWWidgetRotationView(content: testView(), speedType: 0)
示例:旋转一个上面是图片的view
struct testView:View {
var body: some View{
ZStack{
Image("图片名")
.resizable()
}
}
}
testView 是你创建view 这个函数可以让testView旋转起来 ,speedType是旋转速度 ,0:与秒针旋转一致 1:与分针一致 2:与时针一致
注意:
实现的api是高版本xcode废弃的,以此实现旋转组件是否会被苹果特殊“优待“,还没测试过~ 此实现只为自己娱乐
补充:在xcode14以下运行的api是
_clockHandRotationEffect
大家可以下载低版本的尝试下