Ios 有没有办法隐藏apple watch中的默认活动指示器?

Ios 有没有办法隐藏apple watch中的默认活动指示器?,ios,swift,apple-watch,activity-indicator,Ios,Swift,Apple Watch,Activity Indicator,在我实现自定义活动指示器的应用程序中,默认情况下apple watch有活动指示器,我不想显示如何实现?因为默认活动指示器正好位于屏幕中央,但自定义活动指示器稍微向下。第一个是默认图像,第二个是自定义图像 是否有方法提供自定义框架或隐藏默认活动指示器 ! 不幸的是没有。不存在这样的API。这一切都由操作系统控制 SwiftUI 导入快捷界面 结构活动指示器视图:视图{ //标记:-值 //马克:公众 @绑定变量isAnimating:Bool //马克:二等兵 私人出租半径:CGFloat=1

在我实现自定义活动指示器的应用程序中,默认情况下apple watch有活动指示器,我不想显示如何实现?因为默认活动指示器正好位于屏幕中央,但自定义活动指示器稍微向下。第一个是默认图像,第二个是自定义图像

是否有方法提供自定义框架或隐藏默认活动指示器


!

不幸的是没有。不存在这样的API。这一切都由操作系统控制

SwiftUI

导入快捷界面
结构活动指示器视图:视图{
//标记:-值
//马克:公众
@绑定变量isAnimating:Bool
//马克:二等兵
私人出租半径:CGFloat=10.0
私人出租数量=6
专用let间隔:时间间隔=0.15
私有let最小不透明度:双精度=0.25
@状态私有变量不透明度:Double=0
私有let point={(索引:Int,计数:Int,半径:CGFloat,帧:CGRect)->CGPoint-in
让角度=2.0*.pi/双精度(计数)*双精度(索引)
设circleX=半径*cos(CGFloat(角度))
设圆=半径*sin(CGFloat(角度))
返回CGPoint(x:circleX+frame.midX,y:circleY+frame.midY)
}
private let timer=timer.publish(every:6*0.15,on:.main,in:.common)。autoconnect()//every=count*interval
//马克:-视图
var body:一些观点{
GeometryReader{中的几何体

ForEach(0..谢谢你的回复。但我在其中一个博客中看到了它:
import SwiftUI

struct ActivityIndicatorView: View {

    // MARK: - Value
    // MARK: Public
    @Binding var isAnimating: Bool


    // MARK: Private
    private let radius: CGFloat = 10.0
    private let count = 6
    private let interval: TimeInterval = 0.15
    private let minimumOpacity: Double = 0.25
    @State private var opacity: Double = 0

    private let point = { (index: Int, count: Int, radius: CGFloat, frame: CGRect) -> CGPoint in
        let angle   = 2.0 * .pi / Double(count) * Double(index)
        let circleX = radius * cos(CGFloat(angle))
        let circleY = radius * sin(CGFloat(angle))

        return CGPoint(x: circleX + frame.midX, y: circleY + frame.midY)
    }

    private let timer = Timer.publish(every: 6 * 0.15, on: .main, in: .common).autoconnect()     // every = count * interval



    // MARK: - View
    var body: some View {
        GeometryReader { geometry in
            ForEach(0..<self.count) { index in
                Circle()
                    .fill(Color.white)
                    .frame(width: 9.0, height: 9.0)
                    .animation(nil)
                    .opacity(self.opacity <= 0 ? 1.0 * Double(index == 0 ? 6 : index) / Double(self.count) : self.opacity)
                    .position(self.point(index, self.count, self.radius, geometry.frame(in: .local)))
                    .animation(
                       Animation.easeOut(duration: self.minimumOpacity < self.opacity ? 0.3 : 0.4)
                            .repeatCount(1, autoreverses: true)
                            .delay(TimeInterval(index) * self.interval)
                    )
            }
            .onReceive(self.timer) { output in
                self.update()
            }
        }
        .rotationEffect(.degrees(30))
        .opacity(isAnimating == false ? 0 : 1.0)
        .onAppear {
            self.update()
        }
    }



    // MARK: - Function
    // MARK: Private
    private func update() {
        opacity = minimumOpacity < opacity ? minimumOpacity : 1.0

        DispatchQueue.main.asyncAfter(deadline: .now() + 0.38) {
            self.opacity = self.minimumOpacity
        }
    }
}

#if DEBUG
struct ActivityIndicatorView_Previews: PreviewProvider {

    static var previews: some View {
        let view = ActivityIndicatorView(isAnimating: .constant(true))

        return Group {
            view
                .previewDevice("Apple Watch Series 5 - 44mm")

            view
                .previewDevice("Apple Watch Series 4 - 40mm")

            view
                .previewDevice("Apple Watch Series 3 - 42mm")

            view
                .previewDevice("Apple Watch Series 3 - 38mm")
        }
    }
}
#endif