2010-03-03 7 views
6

Tôi nhận được lỗi này. Tôi không có đầu mối về lý do tại sao nó sẽ được gọi, và Google đã không thực sự giúp đỡ. Bất kỳ đề xuất?Lỗi không xác định [UIWindow endDisablingInterfaceAutorotation]

-[UIWindow endDisablingInterfaceAutorotation] called on <UIWindow: 0x4e0ec50; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x4e0f9e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring. 

Trả lời

-5

Có vẻ như bạn phải gọi -beginDisablingInterfaceAutorotation trước và bạn không thực hiện điều đó.

+0

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

7

Gần đây tôi đã gặp sự cố tương tự. Nó bật ra rằng tôi đã vô tình hiển thị cùng một UIActionSheet hai lần. ví dụ.

[actionSheet showInView:aView]; 

... more code ... 

// WOOPS! I already did this 
[actionSheet showInView:aView]; 

Khi UIActionSheet bị sa thải (đối với khoảng thời gian 12, có lẽ là ngăn xếp sâu -beginDisablingInterfaceAutorotation) nó gây ra lỗi. Xóa cuộc gọi dự phòng thành -showInView: khắc phục sự cố.

+1

Tôi đã có cùng một vấn đề với một nguyên nhân smiler, tôi đã hoạt hình một UICollectionViewCell và nó đã được tải lại 1/2 cách thông qua. – BooRanger

3

Thêm UIViewAnimationOptionLayoutSubviews vào tùy chọn hoạt ảnh đã giải quyết được sự cố của tôi.

+1

Đã sửa lỗi cho tôi. – mostruash

-1

Tôi gặp sự cố tương tự không có lý do gì. Không có gì thay đổi trong bản dựng của tôi. Tất cả những gì tôi phải làm là xóa ứng dụng khỏi thiết bị thử nghiệm của tôi, xây dựng lại và triển khai lại và vấn đề này đã được giải quyết. Đáng để thử!

5

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.