Как включить кнопку в InfoWindow

Я последовал этому руководству о том, как добавить пользовательское информационное окно на маркер карты Google, в UIView Я добавил кнопку и создал IBAction, но когда я нажимаю на нее, ничего не происходит

мой код представления информации выглядит так:

.час

#import <UIKit/UIKit.h> #import "Details.h" @interface MarkerInfoWindowView : UIView @property (weak, nonatomic) IBOutlet UIImageView *imageView; @property (weak, nonatomic) IBOutlet UILabel *label1; @property (weak, nonatomic) IBOutlet UILabel *label2; @property (weak, nonatomic) IBOutlet UIButton *btn1; - (void) initializeWithDetails:(Details*)p_details; @end 

.m

 #import "MarkerInfoWindowView.h" @implementation MarkerInfoWindowView - (void) initializeWithDetails:(Details*)p_details { if(self != nil) { self.imageView.image = [UIImage imageWithContentsOfFile:p_basicDetails.imageURL]; self.label1.text = p_details.l1; self.label2.text = p_details.l2; } } -(IBAction) btn1_Clicked:(id)sender { NSLog(@"button clicked"); } @end 

а затем, на мой взгляд, контроллер главного экрана и карты

 -(MarkerInfoWindowView*) customInfoWindow { if(_customInfoWindow == nil) { _customInfoWindow = [[[NSBundle mainBundle] loadNibNamed:@"MarkerInfoWindowView" owner:self options:nil] objectAtIndex:0]; } return _customInfoWindow; } - (UIView *)mapView:(GMSMapView *)p_mapView markerInfoWindow:(GMSMarker *)p_marker { Details* temp = [[Details alloc] init]; temp.l1 = @"L1"; temp.l2 = @"L2"; temp.imageURL = @"someImage.jpg"; [self.customInfoWindow initializeWithDetails:temp]; return self.customInfoWindow; } 

какие-либо предложения?

сначала причина, по которой кнопка не нажата, заключается в том, что карты google принимают UIView и отображают ее как imageView, поэтому кнопка является частью изображения и, конечно, не доступна для кликов.

решение состоит в том, чтобы добавить UIView и дескриптор по своему усмотрению скрыть / показать и позиционировать. Вместо того, чтобы использовать

  • (UIView *) mapView: (GMSMapView *) p_mapView markerInfoWindow: (GMSMarker *) p_marker

я использовал didTapMarker и вернул ДА;

Interesting Posts

Swift + Firebase Security не работает

Функции подключения (libc) на iOS во время соединения

Как изменить название кнопки на навигационном контроллере в swift3?

MPMediaItemСтрахование и прозрачность

Почему не iOS 5.0, как приложения с открытым окном? Почему он запрашивает использование контроллеров представлений?

Как программно установить вид спереди / сзади?

reloadSection приводит к ошибке «попытка удалить раздел 1, но перед обновлением есть только 1 раздел с userInfo»

Swift iOS EKEventStore: выборки из EKEvent иногда приводят к сбою с помощью NSInvalidArgumentException

Ограничение GKSession на Wi-Fi и игнорирование Bluetooth

Программно установить начальный контроллер представления с помощью раскадровки

Xcode пытается сопоставить идентификатор пакета фреймворков при загрузке приложения iOS в App Store

Parse.com Запрос с двумя датами

Сбой приложения сразу после запуска

Настройка среды реального времени IPhone

Xcode iOS Swift: автоматическое создание переопределения функций протокола

Давайте будем гением компьютера.