Salutations,Wie Sie sich richtig NSTimer verwenden, um eine automatische Diashow
Erlauben Sie mir zu schaffen, dies zu Vorrede, die meine Suchanfragen wahrscheinlich falsch formuliert worden sein kann, wie ich bestimmte andere bin versucht zu tun, noch, Ich kann es nicht finden. Ich habe verschiedene Wege untersucht, aber keiner hat wirklich funktioniert.
Also mein aktueller Code ist wie folgt:
while true {
currentPicture += 1; //Yes I know that ; is not needed, i come from Java so I find it comforting.
showPico(); //function which shows an image from my array of images, this function handles out of bounds by reseting currentPic to 0 or 4.
sleep(2);
}
Nun mein Problem das ist, wenn ich meine Auto-Taste getroffen, die dort über meinen Code befindet, meine app natürlich gefriert. Das ist normal, da ich davon ausgehe, dass sleep() den Hauptthread aufruft und einfach alles aussetzt, bis es fertig ist zu schlafen. Allerdings sehe ich es das Bild überhaupt nicht aktualisieren. Also, was ist der beste Weg, um eine Art Diashow zu erstellen.
Das Array von Bildern ist wie folgt definiert, für diejenigen fragen:
var pictureArray = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]; //I know, highly original names.
Randbemerkung: Mein Wissen über swift/iOS ist jetzt eine Gesamtsumme von 4 Tagen.
Je nachdem, was Sie sich am wohlsten fühlen, und was die größte Menge an Bildern, die Sie in der Diashow erwarten sind, sollten Sie schauen in Scrollview/Auflistungsansicht CollectionView zum Beispiel, machen Sie eine Zelle zum Vollbild der Ansicht und weisen Sie ihr eine imageView zu, deaktivieren scrolling/userInteraction und scrollen dann nach einer gewissen Zeit zum nächsten indexPath. Es würde eine Menge sein, in speziell zu lernen, aber einen Timer einzurichten und zu lernen, wie man manuell eine Sammlung scrollen kann, wird leicht zu finden sein auf SO – JustinM