Hintergrundfarbe einer TableCell abfragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • macmoonshine schrieb:

    Warum verwendest Du nicht einfach eine eigene Klasse für Tabellenzellen, der Du eine Property checked gibst? Den Setter musst Du selbst implementieren:

    Quellcode

    1. - (void)setChecked:(BOOL)inChecked {
    2. checked = inChecked;
    3. self.backgroundColor = inChecked ? [UIColor redColor] : [UIColor whiteColor];
    4. }

    Dann brauchst Du keine Farbvergleiche.
    Wo schreibe ich denn diese Klasse für die Tabellenzelle hin?

    Ich habe sie jetzt in den gleichen ViewController geschrieben, in dem auch schon die didSelectRowAtIndexPath-Methode steht. Aber da bekomme ich bei dem "self.backgroundColor"-Befehl die Fehlermeldung, dass die Property backgroundColor nicht in dem Objekt des Typs meines ViewControllers gefunden werden kann ("Property 'backgroundColor' not found on object of type 'ViewController *' ").

    Was habe ich falsch gemacht? Wo muss ich das hinschreiben?
  • HerrLehmann schrieb:

    Wo schreibe ich denn diese Klasse für die Tabellenzelle hin?

    Wie legst Du denn eine neue Klasse (in Xcode) an?
    Welche Basisklasse muss denn eine Tabellenzelle haben?
    Der zitierte Code enthält a) eine Klasse oder b) eine Methode?

    HerrLehmann schrieb:

    Ich habe sie jetzt in den gleichen ViewController geschrieben, in dem auch schon die didSelectRowAtIndexPath-Methode steht. Aber da bekomme ich bei dem "self.backgroundColor"-Befehl die Fehlermeldung, dass die Property backgroundColor nicht in dem Objekt des Typs meines ViewControllers gefunden werden kann ("Property 'backgroundColor' not found on object of type 'ViewController *' ").

    Ist ViewController eine Tabellenzelle?
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Wie legst Du denn eine neue Klasse (in Xcode) an?
    Welche Basisklasse muss denn eine Tabellenzelle haben?
    Der zitierte Code enthält a) eine Klasse oder b) eine Methode?

    macmoonshine schrieb:

    Ist ViewController eine Tabellenzelle?
    Jetzt bin ich leider etwas überfordert. :(

    Also der ViewController ist ein normaler UIView in die ich noch eine UITableView eingebaut habe. Im Grunde ist alles Standard, also eine TableView mit Tabellenzellen, die über cellForRowAtIndexPath definiert werden.
  • HerrLehmann schrieb:

    Also der ViewController ist ein normaler UIView in die ich noch eine UITableView eingebaut habe.

    Ein ViewController sollte niemals ein View sein. Du solltest Dir mal ausreichend Zeit nehmen, um die Grundlagen zu lernen. Vielleicht fängst Du mal mit dem MVC-Pattern an: developer.apple.com/library/io…oc/uid/TP40002974-CH6-SW1

    HerrLehmann schrieb:

    Im Grunde ist alles Standard, also eine TableView mit Tabellenzellen, die über cellForRowAtIndexPath definiert werden.

    Es mag sein, dass Du Dich da an Standards hältst, ohne das dahinter liegende Muster verstanden zu haben. Die Applikationsentwicklung wird für Dich aber immer zäh wie Kaugummi sein, wenn Du Dich mit den Konzepten nicht auseinandersetzt.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    HerrLehmann schrieb:

    Also der ViewController ist ein normaler UIView in die ich noch eine UITableView eingebaut habe.

    Ein ViewController sollte niemals ein View sein. Du solltest Dir mal ausreichend Zeit nehmen, um die Grundlagen zu lernen. Vielleicht fängst Du mal mit dem MVC-Pattern an: developer.apple.com/library/io…oc/uid/TP40002974-CH6-SW1

    HerrLehmann schrieb:

    Im Grunde ist alles Standard, also eine TableView mit Tabellenzellen, die über cellForRowAtIndexPath definiert werden.

    Es mag sein, dass Du Dich da an Standards hältst, ohne das dahinter liegende Muster verstanden zu haben. Die Applikationsentwicklung wird für Dich aber immer zäh wie Kaugummi sein, wenn Du Dich mit den Konzepten nicht auseinandersetzt.


    Wir sind anscheinend wieder im verdeckten LeE/LeG-thread…

    HerrLehmann schrieb:

    Thallius schrieb:

    Ich würde sagen Du brauchst ein Buch...

    Gruß

    Claus



    Ich habe schon viele Bücher ;)


    Die letzte Bemerkung steht nicht im Widerspruch zu dem was "Thallius" geschrieben hat.
    Es fehlt immer ein Buch, nämlich das Eine, das man gerade braucht.
    Zwischen "Haben" und "Lesen" gibt es zudem einen Unterschied.

    Ich würde die Anmerkungen ernst nehmen, so dumm und abgedroschen sie klingen mögen.
    I would be embarrassed if they did not spy on me.
  • Ich war von Donnerstag bis Samstag auf einem Seminar und habe daher erst jetzt entdeckt, dass sich die Diskussion noch weiter entwickelt hat.

    Nur aus meiner Sicht zum Abschluss: Ich nehme den Beitrag, in einem Buch zu lesen durchaus ernst. Nur habe ich zu Beginn mehrere Bücher und Online-Tutorials gelesen, bis ich irgendwann zu dem Schluss gekommen bin, dass es mich nicht mehr weiterbringt, das hundertste "Hello World"-App zu schreiben.

    Bisher habe ich in meinem Leben - um einmal ein bisschen altklug daher zu kommen - die Erfahrung gemacht, dass ich Dinge am Besten erfasse, wenn ich sie an einem eigenen Beispiel ausprobiere, "learning by doing" sozusagen. Daher habe ich mich irgendwann ins kalte Wasser gestürzt und einfach mal angefangen. Damit bin ich bislang schon erstaunlich weit gekommen, stoße aber immer wieder an meine Grenzen und habe daher immer wieder Fragen.

    Ich sehe ein, dass das Forum es nicht leisten kann, mir die Grundlagen von Objective-C näher zu bringen. Andererseits bringt das Lesen von Büchern meines Erachtens an dieser Stelle auch nicht mehr so viel, da das Problem schon so konkret ist, dass ich nur schwer etwas finden würde, bzw. die Angaben für mein konkretes Problem nur schwer umsetzen könnte.

    Das Beste wäre für mich wahrscheinlich, wenn ich einen erfahrenen Programmiere mal einen Tag lang mit meinen Fragen löchern könnte. Naja. Muss mich mal darum kümmern.

    Viele Grüße
    Lars


    P.S.: Was heißt eigentlich LeE/LeG-thread?
    P.P.S.: Ich habe das Problem fürs Erste über ein UITableViewAccessoryCheckmark gelöst.