setneedsdisplay

___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ qstnhdr ___ SetNeedsDisplay funktioniert nicht ___ answer14190557 ___

Ich denke, der richtige Weg, es zu benutzen, ist:

%Vor%

Obwohl ich immer Probleme habe, das zu funktionieren: (

    
___ answer13972856 ___

Nach vielen Tests habe ich etwas gesehen, das mit Threads zu tun hat und das fact setNeedsDisplay sollte nur in mainThread aufgerufen werden ... Außerdem habe ich in diesen Klassen nie einen separaten Thread gestartet, sondern die Klasse, die die Benachrichtigung ausgelöst hat, war in einem sekundären Thread ... und genau das verursachte das Problem ...

um es zu lösen Ich habe nur gezwungen, setNeedsDisplay im Hauptthread aufgerufen werden.

%Vor%

Schnell 3:

%Vor%     
___ qstntxt ___

Ich habe viele Threads gesehen, die mit diesem Problem zu tun haben, aber keine behandelt meinen Fall (denke ich).

Mein Fall sollte einfach sein, ich habe eine benutzerdefinierte %code% in meinem Controller, von meinem Controller verwende ich die [ %code% ] und es funktioniert perfekt.

Ich habe Probleme, wenn ich versuche, dies innerhalb von %code% selbst aufzurufen ... Ich habe eine Benachrichtigung von einer anderen Klasse gesendet und sie wird von meiner Ansicht (das funktioniert) mit den Informationen empfangen es passiert, ich aktualisiere interne Eigenschaften dieser Ansicht und dann rufe ich die [self %code% ] an, die meinen Bildschirm mit den neuen Zuständen aktualisieren möchte, aber nichts passiert, ich habe ein %code% in meinem %code% verwendet Methode, und es wird nicht zu diesem Zeitpunkt aufgerufen, es wird nur aufgerufen, wenn meine Controller-Klasse %code% aufrufen, und wenn das passiert, wird das Update, das zuvor geschehen sollte, auf dem Bildschirm angezeigt ... Ich weiß es nicht warum es nicht vorher aktualisiert ...

Hier ist ein Code:

Mein Controller fragt nach Update: (funktioniert OK!)

%Vor%

Meine Benachrichtigungsmethode, die versucht, meine Zeichnung zu aktualisieren: (funktioniert nicht!)

%Vor%

Ich gebe hier nicht mein %code% ein, weil es funktioniert, das Problem ist, dass es nicht von meinem %code% aufgerufen wird!

Jeder hat eine Idee, warum das nicht funktioniert ????

    
___ tag123setneeddisplay ___ hilf uns dieses Wiki zu bearbeiten ___
2
Antworten

SetNeedsDisplay funktioniert nicht

Ich habe viele Threads gesehen, die mit diesem Problem zu tun haben, aber keine behandelt meinen Fall (denke ich). Mein Fall sollte einfach sein, ich habe eine benutzerdefinierte UIView in meinem Controller, von meinem Controller verwende...
17.12.2012, 14:46