Wie blenden Sie Indikatoren beim Auflisten von Unteransichten eines UIScrollView aus?

8

Ich versuche mein subviews in einer UIScrollView Unterklasse anzupassen, aber ich möchte die Scrollindikatoren nicht stören. Es scheint keine öffentliche Schnittstelle zu geben, um auf diese zuzugreifen, und ich möchte überprüfen, ob eine Ansicht einer der Scroll-Indikatoren ist oder nicht (so dass ich sie ignorieren kann).

UIScrollView.h deklariert diese beiden iVars:

%Vor%

... aber ich habe folgendes versucht und einen Linkerfehler bekommen:

%Vor%

Apple will offensichtlich nicht, dass du dich damit herumalbern lässt, in diesem Fall sollten sie etwas cleveres tun, damit das Array von subviews sie nicht enthält (komm auf Apple, es ist nicht so schwer!), aber bis wie kann ich sie dann ignorieren?

    
jhabbott 10.06.2012, 01:20
quelle

6 Antworten

5

Dies endete damit, dass ich mein Workaround war

%Vor%     
clayzar 13.01.2015 21:47
quelle
2

Vermutlich haben Sie die Kontrolle über die Ansichten, die Sie in UIScrollView eingefügt haben. Warum nicht ein eigenes Array von nur diesen Ansichten beibehalten? So sind Sie sicher vor zukünftigen Änderungen in der Implementierung von UIScrollView.

    
Kurt Revis 10.06.2012 01:28
quelle
1

Ich bin gegen das gleiche Problem und ich fange an, darüber nachzudenken, die Werte dieser beiden UIImageView s zu betrachten, um herauszufinden, ob sie es sind oder nicht. Sie haben eine ziemlich einzigartige Signatur:

%Vor%

unter anderen Hooks, auf die Sie achten könnten. nicht ideal, aber nicht viel an Optionen zu diesem Zeitpunkt ...

ist ein Beispiel. In diesem Fall habe ich die Teilansichten der Scrollview durchlaufen, um die optimale contentSize Höhe für die Scrollview basierend auf den Subviews herauszufinden, als sie mit einigen funky Werten aufkam, was mich zu der Annahme brachte, dass Scrollbalken mit Screwing waren ich ...

%Vor%

Wenn das Überprüfen des Rahmens jeder UIView nicht spezifisch genug für Sie ist, können Sie auch sicherstellen, dass es sich um eine UIImageView handelt.

Ich denke, das ist die einzige "wahre" Lösung an diesem Punkt. Ich würde persönlich lieber keine weiteren Ansichten pflegen müssen.

BEARBEITEN:

Hier ist meine konsolidierte Methode, die ich verwende:

%Vor%     
MrTristan 13.02.2014 23:05
quelle
0

Werden die Scrollindikatoransichten während der gesamten Lebensdauer der Scroll-Ansicht hinzugefügt oder entfernt, oder werden sie nur einmal hinzugefügt und ausgeblendet und bei Bedarf angezeigt? Wenn es Letzteres ist, könnten Sie Ihre eigenen Referenzen auf sie in Init speichern, anstatt die privaten Ivars zu verwenden und fortzufahren, wie Sie es bereits versucht haben.

    
jamesmoschou 23.06.2012 11:32
quelle
0

Meine Lösung war:

%Vor%

Dann habe ich alle Bilder zur MYContentView hinzugefügt und später die MYContentView und

neu skaliert %Vor%

Jetzt können Sie alle Bilder in der MYContentView aufzählen, ohne sich um die Bildlaufleisten kümmern zu müssen.

Tun:

%Vor%

Nur die Bilder entfernt. Hoffe das hilft

    
user3694446 13.02.2015 11:08
quelle
0

Basierend auf MrTristans Methode. Ich denke, er hat sich irrtümlicherweise mit der Bildschirmskala multipliziert.

%Vor%     
hfossli 01.06.2016 11:35
quelle

Tags und Links