0

У меня есть приложение с MGSplitView, содержащим табличный вид и UIWebView, который прикреплен к пейзажу. Веб-представление имеет UITapGestureRecognizer (для тройного нажатия), прикрепленный к веб-представлению. Следы в левой части работы веб-просмотра; краны с правой стороны веб-представления теряются - действие не запускается, а сообщения делегатов жеста не принимаются.Потерянные жесты iPad-ландшафт

Проблема в том, что проблема не заключается в MGSplitViewController, так как переключение на UISplitViewController имеет те же проблемы; переход от крана к длинному нажатию также имеет те же результаты.

Расположение точек указано с координатой x на максимальной ширине жестов или близкой к максимальной ширине жестов.осмотра, но все же четко сделаны близко к центру дисплея, что, как я полагаю, имеет отношение к корню проблема - и тем не менее содержимое веб-представления хорошо видно и правильно размещено.

Все контроллеры просматривать участвующие осуществлять shouldAutorotate и supportedInterfaceOrientations, так застряли в портретном кажется маловероятным, т.е. MGSplitViewController, мой UITableView подкласс (на панели слева) и UIViewController подкласс для правой панели.

Мой жест распознаватель делегат и выход из одной тройного крана (вида в правой веб-просмотре рука панели):

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { 
    NSLog(@"%s", __PRETTY_FUNCTION__); 
    NSLog(@"gestureRecognizer view frame: %@", NSStringFromCGRect(gestureRecognizer.view.frame)); 
    NSLog(@"location %@", NSStringFromCGPoint([gestureRecognizer locationInView:gestureRecognizer.view])); 
    return YES; 
} 

-[DocumentBrowser gestureRecognizer:shouldReceiveTouch:] 
gestureRecognizer view frame: {{0, 0}, {703, 704}} 
location {703, -20} 
-[DocumentBrowser gestureRecognizer:shouldReceiveTouch:] 
gestureRecognizer view frame: {{0, 0}, {703, 704}} 
location {414.5, 204.5} 
-[DocumentBrowser gestureRecognizer:shouldReceiveTouch:] 
gestureRecognizer view frame: {{0, 0}, {703, 704}} 
location {414.5, 204.5} 

Первое место сообщается кажется странными.

+0

Недопустимый вид - это/UIViewControllerWrapperView, представление вида моего представления диспетчера. Кажется более чем необоснованным, что Apple-частный класс должен нести ответственность за эту проблему. –

ответ

1

Проверьте свою ориентацию и просмотрите механизмы изменения размера. Я видел это несколько раз, когда что-то не так в этих областях - если вы регистрируете контактные места, я думаю, вы, вероятно, обнаружите, что они останавливаются на 768 точках с левой стороны, т. Е. Есть точка зрения, которая думает, что это находится в портретной ориентации.

+0

Я видел сенсорные координаты при x = 1024 (хотя это все еще около 730 с левой стороны экрана). Я буду проверять ориентации, поскольку это кажется правдоподобным. –

+0

Все контроллеры представлений задействованы в том, что должны быть задействованы и поддерживатьсяInterfaceOrientations, поэтому застревание в портрете кажется маловероятным. –

+0

Проблема была отслежена до супервизора, который не был изменен - ​​поскольку он также не был отсечен, «верхний» вид был виден на полную ширину, но жесты были потеряны. –

Смежные вопросы