ユーザーがロゴを押した後にアニメーションを実行しています。 これはアニメーションです:長押しの3秒後Swift:iOSアニメーションは、MessageController(iOSのメッセージページ)を表示した後で終了します
func rightRotateView(targetView: UIView, duration: Double = 5) {
UIView.animate(withDuration: duration, delay: 0.0, options: [.repeat, .curveLinear] , animations: {
targetView.transform = targetView.transform.rotated(by: CGFloat.pi * 5)
}) { finished in
// self.rightRotateView(targetView: targetView)
}
}
(この時点でアニメーションがまだ実行する必要があります)、私は、ユーザーのメッセージコントローラを提示しています:
if MFMessageComposeViewController.canSendText() == true {
print(self.urgentNumber)
let recipients:[String] = ["\(self.urgentNumber as! String)"]
self.messageController.messageComposeDelegate = self as? MFMessageComposeViewControllerDelegate
self.messageController.recipients = recipients
self.messageController.body = "Hey,\nmy longitude: \(self.userLocation.coordinate.longitude) \nmy latitude: \(self.userLocation.coordinate.latitude)"
self.present(self.messageController, animated: true, completion: nil)
} else {
//handle text messaging not available
}
ときIメッセージコントロールのキャンセルボタンを押すと、アニメーションページに戻りますが、アニメーションは停止します。 私が存在した後、アニメーションを再実行しようとした、と
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
}
におけるしかし、それは動作しませんでした。
私はこれを試して、この実装を追加したときにアニメーションが再開されるのを見ました。アニメーションが中間にある場合は、アニメーションが再開し、不安定な効果が得られます。これを回避する方法はありますか? – ArielSD