여기에 약간의 구성이 있습니다. 나는 UITableViewCell
을 확장하고 UITableViewCell
에 touchesBegin
이 올 때 UITableViewController
클래스에서 모달로 UIViewController
을 표시하고 있습니다. touchesEnded
조회수가 발생하면 다시 UIViewController
번을 삭제합니다.상단에 ViewController를 표시 할 때 UITableViewCell의 touchesEnded가 호출되지 않습니다.
그래서 셀을 만질 때 뭔가 보이고 화면을 놓으면 다시 숨 깁니다. 모든 좋은,하지만 빨리 누르면 UITableViewCell 릴리스; 이 경우 touchesEnded
이 호출되지 않습니다. 내가 2 초 이상 잡아두면 시스템이 잘 작동합니다. 'touchesCancelled'도 불리지 않습니다.
이 문제에 대한 의견이 있으십니까? 초점이 UITableViewCell
에 있기 때문에 새롭게 표시된 UIViewController
또는 기존 UITableViewController
의 Touch 메소드는 (내가 손을 뗀 다음 다시 누를 때까지 목적을 상실 할 때까지) 어느 쪽도 치지 않습니다.
관련 코드 :
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
amDisplayingCapture = YES;
[self.showCaptureDelegate displayCapture:self.capture];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
if(amDisplayingCapture)
{
[self.showCaptureDelegate endDisplayCapture];
amDisplayingCapture = NO;
}
}
합니다 (UITableView
의 didSelectRowAtIndexPath
가 호출되지 않습니다 중 하나를 나는 새 UIViewController
을 제시, 그래서를 사용할 수 없습니다 번)가 UIResponder 헤더 파일에서
여기에 더 많은 정보가 있습니다. https://developer.apple.com/library/ios/documentation/uikit/reference/UIResponder_Class/Reference/Reference.html –
고마워요.하지만 제가 언급 했어야 만합니다. Cancelled는 . 내가 기대했던 UITableViewCell과 다른 ViewController에서는 그렇지 않습니다. Began이 호출되지만 트레이스없이 사라지는 것과 같습니다. – Yasper
모든 접촉은 종료되거나 취소되어야합니다. 이러한 방법을 재정의하는 하위 뷰를 사용할 수도 있습니까? –