2015-07-08 22 views
5

Trong phổ ứng dụng iOS 8 của tôi, tôi trình bày một popover sử dụng sử dụng UIPopoverPresentationController như bên dưới từ prepareForSegue:Làm thế nào để ngăn chặn UIPopoverPresentationController khỏi bị loại bỏ khi nhấp vào bên ngoài cửa sổ bật lên?

FavoriteNameViewController *nameVC = segue.destinationViewController; 
UIPopoverPresentationController *popPC = nameVC.popoverPresentationController; 
popPC.delegate = self; 

Và với phương pháp đại biểu này.

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller { 
return UIModalPresentationNone; 
} 

Trong trường hợp cụ thể này, tôi trình bày bộ điều khiển chế độ xem giống như cảnh báo, nhưng không phải.

enter image description here

Bây giờ vấn đề của tôi là người dùng có thể nhấp vào bên ngoài của popover này và nó được bác bỏ. Không có vấn đề thực sự với điều đó ngoại trừ đó không phải là cách cảnh báo làm việc và tôi muốn điều này để mô phỏng một cảnh báo.

Tôi thấy rằng UIPopoverControllerDelegate có phương pháp được gọi là popoverControllerShouldDismissPopover:, nhưng UIPopoverPresentationControllerDelegate không có phương pháp đó và tôi tin rằng tôi cần sử dụng phương pháp sau.

+0

Bây giờ chúng ta có thể nói chuyện (những gì bạn sắp từ chối làm trong câu hỏi trước đó của bạn) về lý do tại sao bạn không sử dụng một cái nhìn trình bày cho điều này? Tại sao bạn không chỉ làm những gì tôi làm ở đây: làm cho một cái nhìn trình bày trông giống và cư xử như một cái nhìn cảnh báo? https://github.com/mattneub/custom-alert-view-iOS7 - Điều này cũng sẽ giải quyết vấn đề của cửa sổ bật lên không phải là cửa sổ bật lên trong cảnh quan trên iPhone 6 cộng. – matt

+0

Lý do tôi đi tuyến đường tôi đã làm là vì khi tôi tìm kiếm cách trình bày một cửa sổ bật lên là phương pháp tôi tìm thấy. Tôi sẽ kiểm tra dự án của bạn để hiểu rõ hơn về những gì bạn đang nói đến. Nhiều đánh giá cao. –

Trả lời

13

Bạn cần phải thiết lập bộ điều khiển popover của passthroughViews-nil và bộ điều khiển quan điểm của modalInPopover YES.

-1

Hãy thử như sau theo quan điểm của bạn

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{ 
    return YES; 
} 
Các vấn đề liên quan