[Gelöst] Custom UITableViewCell - Height passt nicht

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

  • [Gelöst] Custom UITableViewCell - Height passt nicht

    Tach,

    irgendwie steh ich grad auf dem Schlauch.

    Ich habe einen TableViewController mit einer Custom TableViewCell (ohne IB).

    Die TableViewCell hat 1 Image und 3 Labels.

    In meiner CustomCell.m steht folgendes:

    Quellcode

    1. - (void)layoutSubviews {
    2. CGRect frame;
    3. frame= CGRectMake(89, 8, 100, 21);
    4. headerLabel.frame = frame;
    5. frame= CGRectMake(89, 39, 115, 21);
    6. recordLabel.frame = frame;
    7. frame= CGRectMake(221, 39, 79, 21);
    8. entriesLabel.frame = frame;
    9. frame= CGRectMake(16, 3, 60, 60);
    10. dateImage.frame = frame;
    11. }
    Alles anzeigen


    In cellForRowAtIndexPath lade ich dann ganz normal meine CustomCell und vergebe die Texte/Bilder.

    Die CustomCell hat eine feste Height von 70.

    Quellcode

    1. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    2. return 70;
    3. }


    Das komische ist, dass der Bereich zum Klicken der CustomCell dann die Height = 70 ist, die Zelle selbst aber anscheinend doppelt so gross dargestellt wird. (siehe Anhang) (Die Klick-Geste wird auch nur im 'blauen Bereich' erkannt)
    Auch beim Setzen der Height im IB des TableViewControllers ist dies so.

    Auch wenn ich der CustomCell selbst eine andere Height gebe, hat das keine Auswikrungen

    Quellcode

    1. CGRect frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y, cell.frame.size.width, 70.0);
    2. cell.frame = frame;


    Wenn ich eine CustomCell mit dem IB erstellt habe, habe ich auch immer bei heightForRowAtIndexPath die Height der Cell im IB angegeben und das hat immer geklappt.

    Wie gesagt, irgendwie stehe ich da gerade auf dem Schlauch.

    Hat hier jemand einen Hinweis, Tipp,... warum die doppelte Height genommen wird?


    Gruß, Marco
    Knowing is not enough, we must apply.
    Willing is not enough, we must do.

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

  • Sieht auf den ersten Blick so aus als wäre die Höhe deiner Cell richtig, weil der "blaue Bereich" auch stimmt. Das darunter (doppelte Höhe) ist möglicherweise die nächste Zelle?
    Fehlt deiner Cell vielleicht einfach sowas wie: UITableViewCellSeparatorStyleSingleLine ?
  • Das habe ich auch schon überlegt. Aber den SeparatorStyle habe ich der TableView im IB schon vergeben und angezeigt wird er auch.


    Hab den Fehler gefunden:

    Die einzelnen Subviews der Cell hatten alle eine Height von 0. Irgendwie hat der mein layoutSubviews nicht aufgerufen.

    Wenn ich das in cellForRowAtIndexPath packe, dann passt das alles.

    Sehr strange irgendwie, va warum er dann die doppelte Height fuer die Cell nimmt...


    Dennoch Danke :)
    Knowing is not enough, we must apply.
    Willing is not enough, we must do.