NSBezierPath, UIBezierPath und CG-Funktionen

  • NSBezierPath, UIBezierPath und CG-Funktionen

    Hallo,

    ich habe mal ein paar grundsätzliche Fragen zum Zeichnen auf dem iPhone (eher theoretischer Natur, ich sitze im Büro und langweile mich, also habe ich mal darüber nachgedacht):

    1. Welche Methode sollte für das Zeichnen eigener Contents eines Views besser verwendet werden: drawRect oder drawLayer? (Meine Frage rührt daher, dass ich in einem Overlay zu einer UIImagePicker-Instanz einige kleinere Fehlermeldungen oder Warnungen erhalte, wenn ich mit drawLayer male. Ich habe allerdings drawRect noch nicht ausprobiert und bin den Warnungen auch noch nicht auf den Grund gegangen).
    2. Sollte eher mit den TopLevel-Cocoa-Klassen à la NSBezierPath/UIBezierPath gearbeitet werden oder besser mit den CG-Funktionen? (Ich habe gute Ergebnisse mit CG-Funktionen in Kombination mit drawLayer bei einem anderen Projekt erzielt, frage mich aber, ob TopLevel-Klassen nicht besser wären).
    3. Um abwärtskompatibel zu 3.1.3 zu bleiben könnte ich nur NSBezierPath verwenden, da UIBezierPath erst mit SDK 3.2 eingeführt wurde. Gibt es NSBezierPath überhaupt auf dem iPone und bei 3.1.3 ff.? In der Doku finde ich diese Klasse nur im Mac-Bereich.


    Danke Euch!

    ###EDIT:
    Ich hatte aus Versehen "CA-" anstelle "CG-" geschrieben ...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fwtag ()

  • Hi,

    nee, auf dem iPhone gibt es keinen NSBezierPath.

    Wenn du abwärtskompatibel sein willst, geht auch nichts an CoreGraphics vorbei.

    Die Top Level Klassen geben dir immer nur einen mehr oder weniger kleinen Teil dessen, was CG kann. NSBezierPath und Co auf dem Mac können mittlerweile viel - aber nicht alles. UIBezierPath und Konsorten sind noch jung, damit dürftest du schnell an die Grenzen kommen. Um mal eben nen Kringel irgendwo hinzumalen sicher das einfachste. Aber wenn du mehr brauchst, wirst du schnell wieder bei CG landen.

    Gruß
    Manfred
    Seminare, Artikel, Code. ObjectiveCeeds - alles für die Apfelzucht.
  • Ja, vielen Dank. Ich bin glücklicherweise inzwischen einigermaßen fit in CG, so dass ich das, was ich erreichen wollte, gestern schon nach einer Stunde mit CG-Funktionen fertig hatte.

    Interessant übrigens: Habt Ihr schon einmal versucht, zwei Buttons, die man bewegen kann (mit touchesMoved:) und einen customView, der in drawRect in Abhängigkeit der BUtton-Bewegung neu gezeichnet wird, über einen UIImagePicker-VIew zu legen? Ich habe das gestern gemacht und sogar auf dem einigermaßen performanten iPhone 4 war das schnarchlangsam ... :)