Trả lời

1

Nguyên nhân của việc này là các viewController tổ tiên không được thiết lập một cách chính xác. ví dụ tưởng tượng:

UIViewController * myController = ... // a view controller without a proper ancestor 

bây giờ:

myController.tabBarController == nil 

Do đó:

[myController presentModalViewController:otherController]; 

Sẽ thất bại (bằng cách hiển thị lên dưới thanh tab). Việc sửa chữa là thêm MyController để cúng tổ tiên của nó thông qua

[parentController addChildViewController:myController]; 

Bây giờ, parentController phải được bổ sung vào bộ điều khiển khác trong cùng một cách và vân vân cho đến khi một gốc là tabController của bạn. Tính năng này chỉ khả dụng trong iOS 5 trở lên. Nếu xây dựng cho iOS 4 hoặc trước đó, bạn sẽ phải làm việc xung quanh điều này bằng cách đảm bảo rằng tất cả các bộ điều khiển của bạn được thêm trực tiếp vào bộ điều khiển UINav hoặc UITab. Nếu điều này là không thể, bạn sẽ phải truy cập UITabBarController thông qua một biến toàn cầu.

+0

tôi đã sử dụng toàn cầu Cảm ơn –

14

Cố gắng trình bày quan điểm phương thức từ UITabBarController:

[self.tabBarController presentModalViewController:modalView animated:YES]; 
+0

điều khiển xem phương thức không hiển thị ở tất cả ((( –

+0

tabBarController của bạn được hiển thị như là con số không ở đây. – George

1

Trong trường hợp của tôi điều khiển xem giới có UIModalPresentationStyle.CurrentContext tại .modalPresentationStyle, khiến các tab bar chồng chéo

+0

Xin chào, Bạn có thể giải quyết vấn đề này hay không Tôi đang đối mặt với cùng một vấn đề.: | –

+0

@YashBedi, vâng, tôi đặt kiểu hiển thị phương thức thành kiểu mặc định. một mặc định bởi một tai nạn – Tim

+0

ohkay kewl thanks, –

Các vấn đề liên quan