2017-05-23 4 views
0

팝 오버있는 UITableViewController를 닫 캔트, 나는 사용자 정의 대리자를 호출하고 내가 "Dismiss"방법을 사용하여 해고 할 때 사용하는 방법이지만 가끔은 때때로 작동하지 않는 경우가 있습니다.가 내가있는 UITableViewController가 팝 오버로 표시 한

func itemSelected(item: Item) { 
    print("selected item") 
    popoverViewController?.dismiss(animated: false, completion: nil) 
} 

다른 방법으로 팝 오버를 닫을 수 있습니까?

+0

'itemSelected :'에 중단 점을 넣었습니까? 실제로 호출 중인지 확인 했습니까? 만약 그렇다면'popoverViewController'가 그 때 nil이 아닌가? – Dima

+0

예, 호출되고 popoverViewController가 nil이 아닙니다. –

답변

0

UIPopoverPresentationControllerDelegate 메서드 public func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool을 구현해야합니다. 다음은 데모 구현입니다.

extension YouViewController: UIPopoverPresentationControllerDelegate { 

     func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool { 
      return true 
     } 
    } 
관련 문제