1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

[iPhone] drawRect direkt aufrufen.

Dieses Thema im Forum "iOS-Developer" wurde erstellt von FloydThreepwood, 10.12.08.

  1. FloydThreepwood

    FloydThreepwood Stechapfel

    Dabei seit:
    19.01.06
    Beiträge:
    161
    Hi,

    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 & 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...

    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?

    MFG Jan
     
  2. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    RTFM:

    "Normal geometry changes do not require redrawing the view. Therefore, if you alter the appearance of a view and want to force it to redraw, send setNeedsDisplay or setNeedsDisplayInRect: to the view. 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."

    Alex
     
  3. FloydThreepwood

    FloydThreepwood Stechapfel

    Dabei seit:
    19.01.06
    Beiträge:
    161
    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!

    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.

    MFG Jan
     
    #3 FloydThreepwood, 10.12.08
    Zuletzt bearbeitet: 10.12.08
  4. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Lieber oder getestet?

    Ansonsten gibt es wenigstens bei Cocoa -display (NSView).

    Tatsächlich? Gilt das auch dann, wenn die Dirty-Rects sich massiv überschneiden?

    Ich wäre mit derlei Schlussfolgerungen vorsichtig …

    Davon abgesehen steht es dir frei, nur die Dirty-Rects zu zeichnen:
    http://developer.apple.com/DOCUMENT....html#//apple_ref/doc/uid/TP40002978-CH11-SW4

     

Diese Seite empfehlen