IOS 6 CalloutView с TableView больше не работает

У меня есть собственный вид вызова для моей карты. Внутри есть стол. До IOS 6 все работало нормально, и если я выбрал строку, внутри выноски отображался новый вид, но теперь с IOS 6 он больше не работает. Вид таблицы отображается, но я не могу выбрать строку, просто прокрутите таблицу. Есть идеи, как решить эту проблему?

спасибо 4 помогите!

1 ответ

Я решил эту проблему. Нажмите что-нибудь в CalloutView, карта не будет касаться.

1 - В файле MapviewController.h вы добавите делегат: UIGestureRecognizerDelegate

2 - и в файле MapViewController.m реализует метод - (BOOL)gestRecognizer:(UIGestureRecognizer *)gestRecognizer следует ReceiveTouch:(UITouch *) сенсорный

-В моем mapView, когда вы нажимаете 1 раз на карте, он будет идти в этом методе 3 раза. Поэтому я ограничу действие касания волей. Первое касание будет действием. - В myCalloutView есть tabbleView, если tabbleView получает прикосновение. Это вернет ложное прикосновение для карты, это сделает ваш tabbleview может получить прикосновение. То же самое для вашей кнопки

Примечание: в NSlog Hit Test View: будет иметь название элемента просмотра, к которому вы хотите прикоснуться. пример моего представления: isEqualToString:@"UITableViewCellContentView"]

static int count=0;
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
        NSLog(@"hit test view %@",[touch view]);    
        if(count >0 && count<=2)
        {
            count++;
            count=count%2;
            return FALSE;
        }
        count++;      
        if ([[[[touch view] class] description] isEqualToString:@"UITableViewCellContentView"]) {
            return FALSE;
        }
        return TRUE;
    }
Другие вопросы по тегам