Tôi đã gặp sự cố tương tự khi thực hiện bản trình bày UIViewController
tùy chỉnh sử dụng lớp học UIViewControllerAnimatedTransitioning
. Đối với tôi, các bản in trông giống như sau:
-[UIApplication endIgnoringInteractionEvents] called without matching -beginIgnoringInteractionEvents. Ignoring.
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UIWindow: 0x7f9f83f42db0; frame = (0 0; 375 667); autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9f83f44ed0>; layer = <UIWindowLayer: 0x7f9f83f40ca0>> without matching -beginDisablingInterfaceAutorotation. Ignoring.
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UITextEffectsWindow: 0x7f9f862553a0; frame = (0 0; 375 667); opaque = NO; autoresize = W+H; layer = <UIWindowLayer: 0x7f9f83f9a1e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring.
tôi phát hiện ra rằng lỗi là do gọi transitionContext.completeTransition(true)
hai lần (một lần trong animateTransition(_:)
, và một ở một CAAnimation
đại biểu phương pháp animationDidStop(_:flag:)
). Bạn có thể muốn kiểm tra xem bạn có đang làm điều tương tự không.
Tôi không gọi phương thức này để bắt đầu, tôi đã đọc rằng beginMethod cần được gọi đầu tiên, nhưng đó chỉ là khi bạn gọi kết thúc và tôi đã không, tuy nhiên tôi đã theo dõi đoạn mã gây ra nó, [tự showPurchase: mua hoạt hình: YES]; hoạt ảnh cần được đặt thành NO. Vấn đề là, khi tôi lần đầu tiên viết nó không ném một lỗi, cho đến khi tôi thay đổi một số mã trong các phương thức tableView, tôi cần sử dụng câu lệnh switch vì nhiều phần, trước khi chỉ có 1 phần, tôi vẫn đang điều tra. – iAm