2016-10-19 3 views
0

상위 뷰 컨트롤러가 해제되기 전에 이전 뷰 컨트롤러를 사용할 수있는 이상한 글리치가 발생합니다.중간 스 와이프 중 이상한 동작

내 주 컨트롤러에서 didSelectRowAtIndexPath 대리자 기능이있는 테이블보기가 있습니다. 이 기능은 다음과 같습니다 : 이것은 위대한 작품을

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    performSegueWithIdentifier("commentsSegue", sender: self) 
} 

다시 내가 반 슬쩍 경우, 이미이 화면을 표시하고 있지만, 내가 다시 선택할 수 있습니다. 이것은 일종의 설명하기 어렵지만 손가락을 사용하여 뒤로 스 와이프하고 다른 뷰를 사용하여 메인 viewcontroller에서 셀을 선택할 수 있습니다. 이것은 새로운 "commentsSegue"에 또 다른 segue를 생성합니다. 나는 내가 좋아하는만큼 이것을 여러 번 할 수 있으며 많은 행동을 할 것입니다.

나는

if (self.presentingViewController?.presentedViewController == self) { 

또한

if (self.navigationController?.topViewController.title == self.title) { 

그러나 이러한 기능을 모두 대신 "commentsSegue"컨트롤러의 활성 뷰 컨트롤러로 메인의 ViewController를 반환를 사용하여이 문제를 극복하기 위해 노력했다.

이 동작이 발생하지 않게하려면 어떻게합니까?

답변

0

스 와이프에서 대상 컨트롤러 .isKindOfClass이 현재 사용자인지 확인하는 Notification을 만듭니다. 그렇지 않다면, segue를 만드십시오.

관련 문제