2012-10-24 42 views
7

Điều này đã gây rắc rối cho tôi một thời gian, và tôi đã làm rất nhiều nghiên cứu về điều này, nhưng could't tìm thấy một câu trả lời. Lần đầu tiên tôi đăng câu hỏi ở đây, vui lòng sửa/tha thứ cho tôi nếu tôi mắc lỗi.Nhiều MODAL VIEW điều khiển thay đổi cơ sở phương thức để FULL SCREEN sau khi ROTATION

Môi trường: iPad, iOS 6.0

Sự cố: Chế độ xem cơ bản thay đổi thành toàn màn hình sau khi xoay.

Mô tả: Tôi có một ứng dụng toàn màn hình đang chạy hiện đang hiển thị bộ điều khiển chế độ xem phương thức. Từ chế độ hiển thị phương thức, tôi hiển thị chế độ xem phương thức khác bằng cách thực hiện:

vc.modalPresentationStyle = UIModalPresentationFormSheet; 
[self presentModalViewController:vc animated:YES]; 
//[self presentViewController:vc animated:YES completion:NULL]; 

Trong khi chế độ xem thứ hai xuất hiện và tôi xoay thiết bị iPad. Chế độ xem cơ bản (đầu tiên) trở thành toàn màn hình và chế độ xem phương thức trên cùng (thứ hai) vẫn ở dạng dạng biểu mẫu. (xoay chính xác)

Tôi có thể sửa lỗi này bằng cách thêm chế độ xem phương thức vào navigationController, nhưng tôi muốn giữ nó ở chế độ xem phương thức.

Có ai biết sửa chữa không? Tôi tin rằng người này ở đây là có cùng một vấn đề: ios 6 Incorrect modal view size after rotation

Btw, mọi thứ hoạt động tốt trong iOS 5. Apple thay đổi cách luân chuyển làm việc trong iOS 6. Cảm ơn, -Peter

Trả lời

4

Tôi đã tìm ra giải pháp cho vấn đề này. Đặt kiểu trình bày của chế độ xem của phương thức cuối cùng thành UIModalPresentationCurrentContext trước khi bạn trình bày nó.

Như sau:

vc.modalPresentationStyle = UIModalPresentationCurrentContext; [self presentModalViewController: vc hoạt ảnh: YES];

Điều này giải quyết kích thước thay đổi chế độ xem cơ bản sau khi xoay màn hình iPad.

Được trả lời bởi mọi người trên số Apple Dev forum.

+0

FWIW, điều này làm việc tuyệt vời, nhưng tôi đã phải thiết lập điều này bên trong bộ điều khiển xem trẻ em, tôi không thể đặt nó trong preparForSegue từ presentingVC. – rooftop