Wie deaktiviere ich die Benutzerinteraktion auf eine gesamte Map (MKMapView) in iOS? Ich möchte nur Zoomen, Antippen usw. deaktivieren und eine statische Karte anzeigen. [self.mapView setUserInteractionEnabled:NO]
hat nicht funktioniert. Fanden keine funktionierenden Lösungen über Google oder andere Antworten hier auf Stack (bitte Link, wenn Sie eine funktionierende Antwort finden ..). Targeting iOS 5. Es sollte einen einfacheren Weg geben, dies zu tun.Wie kann ich die Benutzerinteraktion in MKMapView deaktivieren?
Antwort
Der Schlüssel sein sollte, ist zu deaktivieren, zoomt und blättert, wie zum Beispiel:
self.mapView.zoomEnabled = false;
self.mapView.scrollEnabled = false;
self.mapView.userInteractionEnabled = false;
Ok, diese Antwort funktionierte für mich zum größten Teil. Taps kommen immer noch durch, aber das unterbricht meinen Anwendungsfall nicht und Benutzer können nicht scrollen oder zoomen, also bin ich glücklich. Vielen Dank! – sean
Damit konnte ich die beiden Fingerdreh- und -neigungsgesten verwenden, um den zentralen Brennpunkt vollständig außer Sichtweite zu verschieben, obwohl es ziemlich mühsam war. – SandWyrm
Was ist der Punkt der Deaktivierung der Benutzerinteraktion, wenn Sie es immer noch in Code tun müssen ...? – Mgamerz
Sie können die Eigenschaft enabled von MKAnnotationView auf NO
Für Zoom Deaktivieren Sie mapView.zoomEnabled = FALSE;
Ein boolescher Wert, der angibt aktiviert können festlegen, ob die Anmerkung aktiviert ist.
@property (nonatomic, getter=isEnabled) BOOL enabled
Diskussion
Der Standardwert dieser Eigenschaft ist JA. Wenn der Wert dieser Eigenschaft NEIN ist, ignoriert die Anmerkungsansicht Berührungsereignisse und kann nicht ausgewählt werden. Unterklassen können den Annotationsinhalt abhängig vom Wert dieser Eigenschaft auch anders anzeigen.
Ich verstehe nicht, wie dies gilt, um die Interaktion mit der gesamten Karte zu deaktivieren. Ich möchte nicht, dass der Benutzer irgendwo in der gesamten Map interagieren kann - in diesem speziellen Anwendungsfall. – sean
Wie wäre es mit diesem kleinen Hack! nur Platz UIView
auf der MKMapView
mit den gleichen Rahmen Details. Beachten Sie auch, dass die backgroundColor
dieser Ansicht clearColor
wird dadurch die Schaltfläche [legal] der Kartenansicht nicht anklickbar? wird Apfel so? – DeyaEldeen
Sie können dies wie folgt in Interface Builder tun:
- 1. Wie Benutzerinteraktion in einer benutzerdefinierten Ansicht deaktivieren
- 2. Gestapelte Container- und Benutzerinteraktion
- 3. Wie kann ich die standardmäßige Callout-Ansicht von mapkit deaktivieren?
- 4. Wie Benutzerinteraktion in gcloud
- 5. Wie kann ich die Querformatausrichtung deaktivieren?
- 6. Wie kann ich die Berührungserkennung deaktivieren?
- 7. Wie kann ich die Hibernate-Protokollierung deaktivieren?
- 8. Wie kann ich die Querformatausrichtung deaktivieren?
- 9. UITextField wie kann ich die Paste deaktivieren?
- 10. Wie kann ich die UITableViewCell-Hervorhebung deaktivieren?
- 11. Wie kann ich die Protokollierung deaktivieren?
- 12. Kann ich die Parametermustererkennung deaktivieren?
- 13. Wie kann ich eine Microsoft Edge-Erweiterung ohne Benutzerinteraktion installieren?
- 14. Wie erstelle ich eine MKMapView?
- 15. Swift: Wie kann die Benutzerinteraktion während der Berührungsaktion deaktiviert werden?
- 16. Wie öffne ich OpenStreetmap in mkmapview? -iphone
- 17. Wie kann ich _moz_resizing deaktivieren?
- 18. Wie kann ich deaktivieren Microsoft.VisualStudio.TestTools.TestTypes.Unit.TestFailedException
- 19. Wie kann ich feststellen, wenn regionChange Ereignis auf MKMapView programatic oder user-drag von MKMapView?
- 20. Benutzerinteraktion durch Ansicht Problem
- 21. Wie kann ich Castalia in XE8 deaktivieren?
- 22. Wie kann ich die Anmeldung/Passwort-Hervorhebung in Opera deaktivieren?
- 23. Wie kann ich die Compiler-Optimierung in C# deaktivieren?
- 24. Wie kann ich die Jquery-Validierung in schreibgeschützten Feldern deaktivieren?
- 25. Wie kann ich die Authentifizierung in Django REST Framework deaktivieren?
- 26. Wie kann ich die Versionskontrolle in phpstorm deaktivieren?
- 27. Wie kann ich die Verlaufswip-Aktion in Google Chrome deaktivieren?
- 28. Wie kann ich die Sortierung in NSTableVIEW deaktivieren?
- 29. Wie kann ich die Anfrageprotokollierung in Django und uWSGI deaktivieren?
- 30. Wie kann ich die Toolbox in VisualStudio 2008 deaktivieren
FYI, ich habe das versucht und die App wurde abgelehnt, weil sie nicht interaktiv war. Ich habe MKMapView nicht verwendet, daher kann ich deine Frage nicht beantworten. –
@SteveMallory Sollte nicht in nur einem Anwendungsfall abgelehnt werden, denke ich. Andere Apps machen es. Werfen Sie einen Blick auf foursquare: In einem Anwendungsfall (Shop Detail View) ist die Karte fast vollständig gesperrt, was sinnvoll ist, da der Content-Kontext ein einzelner Shop ist. – sean
Aus meiner Erfahrung heraus funktioniert es nicht, wenn es im Interface Builder ausgewählt wird, indem das Häkchen bei "Benutzerinteraktion aktiviert" für die Kartenansicht entfernt wird. Die Einstellung nach Code funktionierte jedoch für mich. –