Open xygkevin opened 2 years ago
Confirm, it doesn't work even in the demo project
same on my end
@ardavydov and @xygkevin Here is the fix for hiding:
in CALayer
extension find next function:
func setOpacity(from: Int, to: Int, duration: TimeInterval, completion: (() -> Void)?)
and change it code on the next:
DispatchQueue.main.async { [weak self] in
guard let strongSelf = self else { return }
CATransaction.begin ()
let animation = CABasicAnimation (keyPath: #keyPath (CALayer.opacity))
animation.fromValue = from
animation.toValue = to
animation.duration = duration
animation.timingFunction = CAMediaTimingFunction (name:
CAMediaTimingFunctionName.easeInEaseOut)
animation.fillMode = .forwards
animation.isRemovedOnCompletion = false
CATransaction.setCompletionBlock(completion)
strongSelf.add(animation, forKey: "setOpacityAnimation")
CATransaction.commit ()
}
Description
Describe your issue here.
What type of issue is this? (place an
x
in one of the[ ]
)Requirements (place an
x
in each of the[ ]
)Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
SkeletonView Environment:
SkeletonView version:1.30.2 Xcode version:13.4.1 **Swift version:swift5
Steps to reproduce:
Please replace this with the steps to reproduce the behavior.
view.showSkeleton(transition: .crossDissolve(0.25)) view.hideSkeleton(transition: .crossDissolve(0.25))
All show or hide cross dissolve animation are not working, the same problem with the demo project
both
Expected result:
Please replace this with what you expected to happen.
Actual result:
Please replace this with of what happened instead.
Attachments:
Logs, screenshots, sample project, funny gif, etc.