Tôi vừa gặp sự cố hiển thị NSInvalidArgumentException
với thông báo này trên một ứng dụng không hoạt động trước đây."Ứng dụng đã cố gắng trình bày một bộ điều khiển hoạt động"?
Ứng dụng đã cố gắng trình bày một bộ điều khiển hoạt động một cách khiêm tốn UITabBarController: 0x83d7f00.
Tôi có một số UITabBarController
mà tôi tạo trong AppDelegate
và cung cấp cho mảng đó UIViewControllers
.
Một trong số chúng tôi muốn trình bày một cách bình thường khi chạm vào nó. Tôi đã làm điều đó bằng cách thực hiện các phương pháp đại biểu
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
Nếu mà điều khiển xem là của lớp người tôi muốn trình bày modally, tôi trở NO và làm
[tabBarController presentModalViewController:viewController animated:YES];
Và bây giờ tôi nhận được lỗi đó, điều đó có nghĩa là bạn không thể trình bày một bộ điều khiển chế độ xem đang hoạt động ở một nơi khác (trong thanh tabbar ...) Tôi nên nói rằng tôi đang sử dụng XCode 4.2 Developer Preview 7, vì vậy đây là iOS 5 (Tôi biết về NDA, nhưng tôi nghĩ tôi không đưa ra bất kỳ chi tiết bị cấm nào). Tôi hiện không có cài đặt XCode để kiểm tra xem sự cố này có biên dịch với SDK iOS4 hay không, nhưng tôi gần như hoàn toàn chắc chắn là không.
Tôi chỉ muốn hỏi nếu có ai đã trải qua vấn đề này hoặc có bất cứ đề nghị
Trước iOS 5, điều này không làm tăng ngoại lệ nhưng không trả lại gì. Từ iOS 5 trở đi, lệnh này sẽ đưa ra một ngoại lệ. –