下面的代码在 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) 我正在尝试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闪光.这甚至可能吗?谢谢!
我有一个基于约束的高度动画.然而,当动画开始时,它将视图的中心视为锚点而不是顶部.
我希望它以固定顶部和从底部收缩的方式进行动画处理.
对不起,我的英语不是母语.
我的意见主播:
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) 嘿,有人知道如何在 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) 我正在尝试在 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) 我正在为一个应用程序制作一些自定义类型的加载程序,我只需在我的视图中制作 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
ios ×3
swift ×3
swiftui ×3
animation ×1
autolayout ×1
cashapelayer ×1
facebook ×1
swift3 ×1
transition ×1