• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das Monatsmotto Juli lautet -- Kitsch as Kitsch can -- Jeder von Euch kann dafür ganz individuell bestimmen, was für ihn Kitsch ist und ein Foto davon einsenden. Macht mit, traut Euch! --> Klick

[iPhone] drawRect direkt aufrufen.

FloydThreepwood

Stechapfel
Registriert
19.01.06
Beiträge
161
<div class="bbWrapper">Hi,<br /> <br /> Ich habe mir zwar das Programm GLPaint angesehen, halte es aber für zu unhandlich, ich würde das ganze also durch eine Hand voll Quartz Methoden ersetzen wollen. Allerdings kann ich drawRect nicht direkt aufrufen (context bleibt nil). Push &amp; PopContext machen ja nun nichts anderes als den Stack zu verwalten, allerdings habe ich keine Ahnung wie ich es hinkriege den Context auf das Bildschirm Bitmap zu zeichnen...<br /> <br /> Ist es möglich einen View direkt zeichnen zu lassen und nicht auf drawRect angewiesen zu sein? Oder muss ich in jedem Fall einen OpenGL View benutzen?<br /> <br /> MFG Jan</div>
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
<div class="bbWrapper">RTFM:<br /> <br /> &quot;Normal geometry changes do not require redrawing the view. Therefore, if you alter the appearance of a view and want <b>to force it to redraw, send setNeedsDisplay or setNeedsDisplayInRect: to the view</b>. You can also set the contentMode to UIViewContentModeRedraw to invoke the drawRect: method when the bounds change; otherwise, the view is scaled and clipped without redrawing the content.&quot;<br /> <br /> Alex</div>
 

FloydThreepwood

Stechapfel
Registriert
19.01.06
Beiträge
161
<div class="bbWrapper">Gelesen hab ich das schon, aber ein asynchroner Aufruf erscheint mir ein Problem zu sein, denn der Zeitpunkt des draw rect Aufrufs muss nicht vor dem nächsten touchesMooved passieren. Obwohl ich die Daten ja chachen kann, kann das zu sehr unschönen interface effekten führen. Direkter wär mir daher lieber!<br /> <br /> Nachtrag: Ich benutze die set Methoden bereits in anderem Umfeld. Cocoa versucht immer mehrere punktuirte Aufrufe in einen mit großem rect zu wandeln, dieser effect ist ohnehin schon contraperformant, aber für einen drawview schlicht unnütz, hier wird teilweise erst nach der 3. Richtunhgsänderung nachgezeichnet.<br /> <br /> MFG Jan</div>
 
Zuletzt bearbeitet:

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
<div class="bbWrapper"><blockquote data-attributes="" data-quote="FloydThreepwood" data-source="post: 1871758" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1871758" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1871758">FloydThreepwood schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Gelesen hab ich das schon, aber ein asynchroner Aufruf erscheint mir ein Problem zu sein, denn der Zeitpunkt des draw rect Aufrufs muss nicht vor dem nächsten touchesMooved passieren. Obwohl ich die Daten ja chachen kann, kann das zu sehr unschönen interface effekten führen. Direkter wär mir daher lieber! </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Lieber oder getestet?<br /> <br /> Ansonsten gibt es wenigstens bei Cocoa -display (NSView).<br /> <br /> <blockquote data-attributes="" data-quote="FloydThreepwood" data-source="post: 1871758" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1871758" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1871758">FloydThreepwood schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Nachtrag: Ich benutze die set Methoden bereits in anderem Umfeld. Cocoa versucht immer mehrere punktuirte Aufrufe in einen mit großem rect zu wandeln, dieser effect ist ohnehin schon contraperformant, </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Tatsächlich? Gilt das auch dann, wenn die Dirty-Rects sich massiv überschneiden?<br /> <br /> Ich wäre mit derlei Schlussfolgerungen vorsichtig …<br /> <br /> Davon abgesehen steht es dir frei, nur die Dirty-Rects zu zeichnen:<br /> <a href="http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/CocoaViewsGuide/Optimizing/chapter_8_section_5.html#//apple_ref/doc/uid/TP40002978-CH11-SW4" target="_blank" class="link link--external" rel="nofollow ugc noopener">http://developer.apple.com/DOCUMENT....html#//apple_ref/doc/uid/TP40002978-CH11-SW4</a><br /> <br /> <blockquote data-attributes="" data-quote="FloydThreepwood" data-source="post: 1871758" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1871758" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1871758">FloydThreepwood schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> aber für einen drawview schlicht unnütz, hier wird teilweise erst nach der 3. Richtunhgsänderung nachgezeichnet.<br /> <br /> MFG Jan </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote></div>