TextFelder wie in iCal, Adressbuch, ...

  • RE: TextFelder wie in iCal, Adressbuch, ...

    Genau dazu gab es mal eine Session auf der WWDC2003, diese konnte man ich bei Apple vor der WWDC2004 herunterhaden (Oder ist sie auf einer Entwickler CD?).

    Ich versuchs mal aus dem Kopf.
    Du must ein CostomView mit einen EditText darin machen.
    Das boundsRect des Editfeldes malst du einfach mit fill und einem NSShadow, bevor du zeichnest clipst du das Rect innen etwas kleiner raus.

    Irgendwie so war das.

    Hoffe das hilft.
  • RE: TextFelder wie in iCal, Adressbuch, ...

    Original von Nevermind
    Genau dazu gab es mal eine Session auf der WWDC2003, diese konnte man ich bei Apple vor der WWDC2004 herunterhaden (Oder ist sie auf einer Entwickler CD?).


    Wo kann man sowas runterladen?

    Schöne Grüße,
    konben81
  • RE: TextFelder wie in iCal, Adressbuch, ...

    Original von konben81
    Original von Nevermind
    Genau dazu gab es mal eine Session auf der WWDC2003, diese konnte man ich bei Apple vor der WWDC2004 herunterhaden (Oder ist sie auf einer Entwickler CD?).


    Wo kann man sowas runterladen?

    Schöne Grüße,
    konben81
    Such mal hier im Forum unter "illegal" ;)
    There are 10 kinds of people in the world - those who understand binary
    and those who don't.
  • RE: TextFelder wie in iCal, Adressbuch, ...

    Original von M.A.X
    NSShadow kannte ich ja noch gar nicht ;) coole sache *g*

    NSShaddow ist sehr cool :)
    Bin da auch durch Zufall drüber gestolpert.
    Man kann so ganz einfach Schatten unter Texte und Bilder legen.
    Funzt aber nur mit 10.3

    Sven
    :wq! /dev/null
  • Original von konben81
    Wenn wir schon dabei sind:

    Weis jemand wie diese "eingestanzte" Schrift auf der Metal Oberfläche erzeugt wird? Die einzelnen Buchstaben als Grafik nehmen und "setzen" ist nicht gerade eine schöne Lösung...


    du nimmst dir ne subclass von NSView oder NSTextFieldCell und zeichnest dann zuerst den schwarzen string, und dann einen (fast) weißen string etwas versetzt. (um 1)
    bei nem view könnte es in etwa so aussehen:

    Quellcode

    1. - (void)drawRect:(NSRect)rect
    2. {
    3. NSMutableDictionary *attrs;
    4. NSString *title;
    5. NSRect centeredRect;
    6. float offset;
    7. title = @"blatest123";
    8. offset = 0.5;
    9. attrs = [NSMutableDictionary dictionary];
    10. [attrs setObject:[NSFont systemFontOfSize: 11.0] forKey:NSFontAttributeName];
    11. [attrs setObject:[[NSColor whiteColor] colorWithAlphaComponent: 0.5] forKey:NSForegroundColorAttributeName];
    12. centeredRect = [self bounds];
    13. centeredRect.size = [title sizeWithAttributes:attrs];
    14. centeredRect.origin.x = (([self bounds].size.width - centeredRect.size.width) / 2.0) + offset;
    15. centeredRect.origin.y = (([self bounds].size.height - centeredRect.size.height) / 2.0) - offset;
    16. [title drawInRect:centeredRect withAttributes:attrs];
    17. [attrs setValue:[[NSColor blackColor] colorWithAlphaComponent:0.75] forKey:@"NSColor"];
    18. centeredRect.origin.x -= offset;
    19. centeredRect.origin.y += 2*offset;
    20. [title drawInRect:centeredRect withAttributes:attrs];
    21. }
    Alles anzeigen


    andere code beispiele findest z.b auch in cocoalicious (tableheadercell)
  • Original von David
    du nimmst dir ne subclass von NSView oder NSTextFieldCell und zeichnest dann zuerst den schwarzen string, und dann einen (fast) weißen string etwas versetzt. (um 1)
    bei nem view könnte es in etwa so aussehen:


    Vielen Dank!

    PS: Zuerst den weißen, dann den schwarzen String, nicht umgekehrt :)