Ich habe zwei Scroll-Ansichten nebeneinander und sie können einzeln gezoomt werden. Ich habe dies getan, indem ich meine Ansicht in eine Bildlaufansicht gebracht und die Zoomskala für die Bildlaufansichten festgelegt habe. Bis jetzt funktioniert es gut! Jetzt gibt es eine neue Anforderung, die zwei Bilder zusammen zu zoomen, so dass, wenn ich ein Bild zoome, der andere automatisch mit der gleichen Zoomskala gezoomt wird. Mir wurde die roambi app als Referenz gegeben, in der zwei scrollviews zusammen gescrollt werden können, durch Scrollen von einem von ihnen für Bequemlichkeit während des Vergleichs. Im Grunde ist das, was ich mache, auch ein Vergleich zwischen den beiden Ansichten. Ich habe die Delegiertenmethoden von scrollview durchlaufen, konnte jedoch nicht die erforderlichen Ergebnisse erzielen. Wie mache ich das?Wie zoomen Sie zwei nebeneinander liegende Bilder zusammen?
Antwort
Ich hatte vor einiger Zeit etwas Ähnliches implementiert (ich habe es für Buttons gemacht). Dies ist, wie ich es tat:
Nehmen Sie zwei UIScrollView
s und auf sie verweisen (ich habe firstScrollView
und secondScrollView
verwendet)
Nehmen Sie zwei UIButton
s und auf sie verweisen (ich habe firstImgBtn
und secondImgBtn
verwendet). Stellen Sie die Delegierten zu den beiden scrollviews und verwenden Sie die folgenden Delegatmethoden:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
//return the respective button in the scrollview to be zoomed
if(scrollView==firstScrollView){
return firstImgBtn;
}
else{
return secondImgBtn;
}
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
// zoom in the other scrollview when one has zoomed
if(zoomTogether){//a bool to decide whether to zoom the two together or not
if(scrollView==firstScrollView){
secondScrollView.zoomScale = firstScrollView.zoomScale;
}
else{
firstScrollView.zoomScale = secondScrollView.zoomScale;
}
}
}
Dies kann zu einer Unterklasse von UIView
-in Ihrem Fall angewendet werden, es wird UIImageView
s
Ich habe das nie getan, Aber von Anfang an würde ich sagen, dass Sie zuerst das Zoomen in beiden von ihnen erreichen müssen (wie oben), dann müssen Sie die Delegate-Methoden verwenden, um sicherzustellen, dass beide Scroll-Ansichten gleich sind contentOffset-Wert Das heißt, wenn man über manuelles Scrollen oder über programmatisches Scrollen wechselt, muss man (unter Verwendung der Delegaten-Callbacks) das andere auf denselben contentOffset-Wert setzen.
EDIT: Wie pro Anfrage, das Hinzufügen ein wenig (UNTESTED) Code:
- (void)scrollViewDidScroll:(UIScrollView*)scrollView
{
if(scrollView == self.myFirstScroller)
{
self.mySecondScroller.contentOffset = self.myFirstScroller.contentOffset;
}
else {
self.myFirstScroller.contentOffset = self.mySecondScroller.contentOffset;
}
}
und Zoomen, auf die oben in ähnlicher Weise durchgeführt.
Aber wenn Sie nach einer Kopier-Paste-Lösung suchen, können Sie einfach in Ihr Projekt einsteigen. Ich fürchte, Sie müssen sich selbst etwas mehr über Scroll-Ansichten beibringen. Sie sollten den Apple Programming Guide lesen, da scrollviews etwas knifflig sein können und Sie oft einige der Delegate-Methoden verwenden müssen, um die Dinge richtig zu machen.
Könntest du bitte einen Code dafür schreiben ... –
- 1. OpenCV zeigt zwei nebeneinander liegende Bilder im selben Fenster an
- 2. Mischen Sie zwei Bilder zusammen
- 3. Setzen Sie zwei Bilder nebeneinander in Bootstrap
- 4. Setzen Sie Bilder nebeneinander
- 5. Zwei Bilder nebeneinander und reagierend
- 6. Ziehen Sie zwei Bilder zusammen, aber
- 7. CSS - Mitte zwei Bilder in css nebeneinander
- 8. Verschmelzen Bilder nebeneinander (horizontal)
- 9. Bootstrap3:/zwei Bilder reagieren zusammen
- 10. Stapel zwei Bilder nebeneinander in Bootstrap-Karussell
- 11. Zwei Bilder nebeneinander und Text darauf
- 12. Bilder auf Mobilgeräte zoomen
- 13. Setzen Sie zwei Divs nebeneinander
- 14. Binden Sie zwei Bilder zusammen, um gezogen zu werden
- 15. Matplotlib/Pyplot: Wie zoomen Subplots zusammen?
- 16. Wie zentriert man Bilder, die nebeneinander in div sind?
- 17. Richten Sie zwei data.frames nebeneinander mit knitr?
- 18. Wie man zwei Divs nebeneinander inline bekommen?
- 19. HTML - zwei Tabellen nebeneinander
- 20. Android - Definieren Sie zwei Tasten nebeneinander
- 21. Ausrichten zwei Anker nebeneinander
- 22. Center zwei Spalten nebeneinander
- 23. Zeichnung mehr gedrehte Bilder nebeneinander
- 24. So platzieren Sie zwei Eingabefelder nebeneinander
- 25. So richten Sie Bilder nebeneinander mit Ankertext aus?
- 26. Zwei CardViews nebeneinander
- 27. Wie zeige ich zwei Sektionen nebeneinander an?
- 28. Wie man zwei divs nebeneinander anordnet?
- 29. Xcode zeigt zwei Fenster nebeneinander
- 30. Wie zwei Fenster nebeneinander in N.j ausrichten?
Eigentlich benutze ich selbst UIButtons. Ich werde es versuchen ... –
Es hat funktioniert ... danke –