Đây có phải là ứng dụng dành cho iPhone không? Nếu vậy, điều đó giải thích sự nhầm lẫn. Trên iPhone, kiểu trình bày duy nhất là UIModalPresentationFullScreen
- số tiền nói rằng trên iPhone, trình điều khiển chế độ xem gốc luôn là bộ điều khiển chế độ xem trình bày. Vâng, trong một giao diện thanh tab, khung nhìn của UITabBarController là bộ điều khiển xem gốc.
Bạn sẽ nhận thấy rằng trên iPhone chế độ xem phương thức không thay thế chế độ xem của trình điều khiển chế độ xem của bạn; nó thay thế giao diện toàn bộ , có nghĩa là nó thay thế giao diện của trình điều khiển thanh tab. Điều này là do trình điều khiển thanh tab thực sự là là trình điều khiển chế độ xem trình bày.
Tôi đoán rằng trên iPhone bạn thực sự không nên gửi presentViewController:
hoặc presentModalViewController:
đến bộ điều khiển chế độ xem có chứa bộ điều khiển thanh tab. Bạn nên gửi nó đến bộ điều khiển thanh tab. Do đó, thư được chuyển đến bộ điều khiển thanh tab cho bạn.
Vì vậy, không có gì thú vị sẽ xảy ra với giá trị presentingViewController
trừ khi bạn đang sử dụng iPad. Trên iPad, bạn có thể làm cho chế độ xem phương thức thay thế chế độ xem của trình điều khiển chế độ xem. Để làm như vậy, chế độ xem của phương thức modalPresentationStyle
phải là UIModalPresentationCurrentContext
. Và trong trường hợp đó, trên thực tế, số presentingViewController
có thể là là chế độ xem "đẩy bộ điều khiển chế độ xem phương thức".
Bạn có tìm thấy câu trả lời không? – dimirc
Tôi nghĩ câu trả lời có thể là parentViewController, mà tôi đang tìm kiếm các công trình trong iOS 8, nhưng không phải 7, ít nhất là trong trường hợp sử dụng của tôi. –