标签: ios-animations

如何更新此自定义选取器动画并过渡到 iOS 15?

下面的代码在 iOS 15 上运行良好,但现在我收到警告'animation' was deprecated in iOS 15.0: Use withAnimation or animation(_:value:) instead.

环顾四周,看来我应该使用.animation(_, value: someValue)- 这确实消除了警告,但随后代码无法正确设置动画。我想这与选择器太快有关?id或者影响视图的选择器?

这是有效的代码,但当然,我更愿意使其与 iOS 15 保持同步:


struct SamplePickerSwap: View {
    let swapAnimation: Animation = .easeInOut(duration: 0.3333)
    let swapRight: AnyTransition = .asymmetric(
        insertion: .move(edge: .trailing),
        removal: .move(edge: .leading))
    let swapLeft: AnyTransition = .asymmetric(
        insertion: .move(edge: .leading),
        removal: .move(edge: .trailing))
    
    @State private var picker = 0
    @State private var segments = ["Left", "Right"]
    var body: some View {
        
        VStack {
            Picker("", …
Run Code Online (Sandbox Code Playgroud)

transition deprecation-warning ios-animations swiftui

2
推荐指数
1
解决办法
1452
查看次数

你如何将Facebook闪烁添加到图像和UIViews?

我正在尝试Facebook闪烁的库,我能够使用此代码为文本标签添加闪烁.

    self.shimmeringView = FBShimmeringView(frame: CGRectMake(0, 0, 200, (self.navigationController?.navigationBar.bounds.height)!))
    self.shimmeringView.contentView = navLabel
    self.navigationItem.titleView = self.shimmeringView
    self.shimmeringView.shimmering = true
Run Code Online (Sandbox Code Playgroud)

但是,我无法制作图像或UIImage闪光.这甚至可能吗?谢谢!

facebook ios swift ios-animations

1
推荐指数
1
解决办法
3760
查看次数

自动布局动画以中心为锚点

我有一个基于约束的高度动画.然而,当动画开始时,它将视图的中心视为锚点而不是顶部.

我希望它以固定顶部和从底部收缩的方式进行动画处理.

对不起,我的英语不是母语.

我的意见主播:

top: superview
left: superview
right: superview
bottom: nil

// current height constant 200
view.height.constant = 0

UIView.animation(withDuration: 0.2, animations: {
    view.layoutIfNeded()
}}
Run Code Online (Sandbox Code Playgroud)

ios autolayout ios-animations swift3

1
推荐指数
1
解决办法
235
查看次数

矩形进度条swiftUI

嘿,有人知道如何在 swiftUI 中创建矩形进度条吗?

像这样的东西? https://i.stack.imgur.com/CMwB3.gif

我试过这个:

struct ProgressBar: View
{
    @State var degress = 0.0
    @Binding var shouldLoad: Bool

    var body: some View
    {
        RoundedRectangle(cornerRadius: cornerRadiusValue)
            .trim(from: 0.0, to: CGFloat(degress))
            .stroke(Color.Scheme.main, lineWidth: 2.0)
            .frame(width: 300, height: 40, alignment: .center)
            .onAppear(perform: shouldLoad == true ? {self.start()} : {})
    }

    func start()
    {
        Timer.scheduledTimer(withTimeInterval: 0.3, repeats: true)
        {
            timer in

            withAnimation
            {
                self.degress += 0.3
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

animation swift ios-animations swiftui swiftui-environment

1
推荐指数
1
解决办法
1382
查看次数

SwiftUI:导航视图中的动画

我正在尝试在 SwiftUI 中创建一个简单的动画。它基本上是一个改变其框架的矩形,同时保持在父视图的中心。

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                Text("Text")
                ZStack {
                    Color.blue
                    SquareAnimation().frame(width: 200, height: 200, alignment: .center)
                }
                Text("Text")
            }
        }
    }
}

struct SquareAnimation: View {
    var currentRect = CGRect(x: 0, y: 0, width: 50, height: 50)
    var finalRect = CGRect(x: 0, y: 0, width: 100, height: 100)
    
    private let animation = Animation.easeInOut(duration: 1).repeatForever(autoreverses: true)
    
    @State var animate = false
    
    var body: some View {
        ZStack() {
            Color.clear
            Rectangle()
                .frame(width: …
Run Code Online (Sandbox Code Playgroud)

ios ios-animations swiftui

1
推荐指数
1
解决办法
252
查看次数

图层上的脉冲动画

我正在为一个应用程序制作一些自定义类型的加载程序,我只需在我的视图中制作 4 个圆形层,并且所有设置和显示都很好。但是当我对所有图层应用脉冲动画缩放时,它们会扰乱我的所有设计和图层缩放,但它改变了它的中心点。我希望所有圆形图层首先缩放图层并缩小其尺寸并使其变大,然后再次进行同一性,它应该称为无穷大。但不应该改变它的中心点。

这是我分享我的代码

class ViewController: BaseViewController{
    
    @IBOutlet weak var layerView: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        drawCircles()
    }

    func drawCircles(){
        let width = layerView.bounds.width
        let halfOfView = width / 2
        
        let firstCirleLayer = UIBezierPath(arcCenter: CGPoint(x: halfOfView / 2, y: halfOfView), radius: halfOfView /  3.5, startAngle: 0, endAngle: 2 * .pi, clockwise: true)
        circleLayers(path: firstCirleLayer.cgPath, color: UIColor.purple)
        
        let secondCirleLayer = UIBezierPath(arcCenter: CGPoint(x: halfOfView, y: halfOfView / 2), radius: halfOfView /  3.5, startAngle: 0, endAngle: 2 * .pi, clockwise: true)
        circleLayers(path: …
Run Code Online (Sandbox Code Playgroud)

core-animation cabasicanimation cashapelayer swift ios-animations

1
推荐指数
1
解决办法
915
查看次数