2014-12-11 18 views
10

Tôi đang cố gắng để giải quyết vấn đề mô tả trong bài viết trên blog này: http://justabeech.com/2014/10/22/using-uivisualeffectview-in-a-modal-view-controller/Sử dụng phương thức Xem Controller và UIVisualEffectView

Tôi có một UIViewController với một segue modal kịch bản khác UIViewController trong đó UIView có một màu nền của [UIColor clearColor]UIVisualEffectView.

Khi tôi trình bày bộ điều khiển chế độ xem, hiệu ứng hình ảnh bị mờ cho đến khi quá trình chuyển đổi hoàn thành và sau đó nền chuyển sang màu xám một lần nữa (chính xác như được hiển thị trong gif trên bài đăng trên blog đó).

enter image description here

tôi đặt phương thức chuyển Style FullScreen theo quy định, nhưng vẫn cùng một vấn đề vẫn còn. Tôi có thể bỏ lỡ điều gì khác để thực hiện công việc này?

EDIT: Ngoài ra, tôi nhận được lỗi sau:

Warning: Attempt to present <ClocksDetailViewController: 0x7ff89cb5bc70> on <ClocksViewController: 0x7ff89c8afe90> whose view is not in the window hierarchy!

Cảm ơn

+0

Bạn cần chụp nhanh chế độ xem "bên dưới" và áp dụng nó làm nền của chế độ xem phương thức. – Fogmeister

+0

Tôi không nghĩ rằng đây là nó. Phong cách trình bày FullScreen nên giữ các khung nhìn bên dưới. –

+0

Bạn có thể dễ dàng tìm ra bằng cách làm xáo trộn chế độ xem sau khi chuyển đổi phương thức của bạn. Nếu bên dưới VC sẽ hiển thị thông qua thì nó sẽ vẫn nằm trong hệ thống phân cấp khung nhìn. – Fogmeister

Trả lời

16

Bạn đã có thể sử dụng UIModalPresentationFullScreen thay vì đúng UIModalPresentationOverFullScreen.

Với cũ UIModalPresentationFullScreen tất cả các chế độ xem trong trình điều khiển được trình bày sẽ bị xóa khỏi hệ thống phân cấp chế độ xem khi hoạt ảnh kết thúc.

0

Bạn cần đặt kiểu hiển thị phương thức của UINavigationController, thay vì UIViewController.

UINavigationController* navigationController = [[UIStoryboard storyboardWithName:@"myStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"myViewController"]; 
navigationController.modalPresentationStyle = UIModalPresentationOverFullScreen; 
Các vấn đề liên quan