IOS 6 CalloutView с TableView больше не работает
У меня есть обычная calloutview для моей карты. Внутри есть табличка. До IOS 6 все работает нормально, и если бы я выбрал строку, новое окно было отображено внутри выноски, но теперь с IOS 6 он больше не работает. Отображается таблица, но я не могу выбрать строку, просто прокрутив таблицу. Любая идея, как решить эту проблему?
thx 4 помогите!
- Предотвращение перекрытия нижнего колонтитула tableViewCell в UITableView - Swift
- Как задать задание места влево и вправо ячейки ячейки таблицы
- Xcode - пользовательский TableViewCell показывает неправильные данные
- UITableView selectRowAtIndexPath: анимированный: scrollPosition: не работает после reloadData в iOS 8
- Как предотвратить возможность выбора UITableViewCell
- Невозможно избавиться от цвета в таблице UITableView tableFooterView
- Изменение изображения при выборе ячейки
- Prototype tableview cell в таблице viewController в раскадровке
- Массив вне диапазона с функцией проверки
- Как вставлять ячейки tableview внутри коллекции для вызова элемента
- Неподдающаяся привязка UITextField к подклассу UITableViewCell
- Перетаскивание в UICollectionView с UITableView
- Приложение iOS на двух разных языках без локализации
Я решил эту проблему. Щелкните что-нибудь в CalloutView, карта не получит touch.My calloutview является custom имеют tabbleview
1 – В файле MapviewController.h вы добавите делегат: UIGestureRecognizerDelegate
2 – и в файле MapViewController.m реализовать метод – (BOOL) gestureRecognizer: (UIGestureRecognizer *) gestureRecognizer shouldReceiveTouch: (UITouch *) touch
-На моем mapView, когда вы нажимаете 1 раз на Карте, он будет использовать этот метод 3 раза. Поэтому я ограничиваю касание действием. Первое касание будет действовать. – В myCalloutView есть tabbleView, если tabbleView получит touch. Он вернет false touch для Map, это заставит ваш tabbleview получить touch.It же для вашей кнопки
Примечание: в тесте NSlog hit 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; }