iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   Hoogte UITableViewCel (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/82569-hoogte-uitableviewcel.html)

Dreissen 17-01-11 00:02

Hoogte UITableViewCel
 
Hallo,

Ik ben bezig met wat oefenen om gegevens te parsen van het internet en dit mooi in een tableview te plaatsen.
Dit lukt hij plaatst alles mooi in een cel precies zoals ik wil alleen krijg ik niet genoeg tekst in een cel, naar een regel word de tekst afgebroken met ... dat de cel dus vol zit lijkt me.

Nu gebruik ik een delegate-methode om de cel grote te bepalen:

Code:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
        return GroteVanCel;
}

Maar er komt niet meer ruimte voor tekst, dit doet hij niet vanzelf.
Heeft iemand een idee hoe ik kan bepalen hoeveel ruimte er op de regel in de cel mag komen dit is namelijk wel mogelijk.

Bedankt

Nikooos 17-01-11 18:50

Wil je standaard alle cellen vergroten?

Dan kan je gewoon dit gebruiken:
Code:

tableView.rowHeight = 77;
En/of je kan aan de titlelabel in de cell aangeven hoeveel regels hij mag.
Dit kan met:
Code:

cell.titleLabel.numberoflines = 2 // of 3, 4, 5, enz.. of 0 voor oneindig

Geno 17-01-11 21:54

Wil je cellen met wisselende groottes of wil je 1 vaste maat gebruiken?

Bij het eerste gebruik je de delegate method die je nu gebruikt.

Bij het tweede gebruik je tableView.rowHeight.

De delegate method kan je ook gebruiken om 1 maat vast te stellen, alleen lever je performance in als er veel cellen op het scherm getekend moeten worden.
In dat geval doe je gewoon return 88; bv.

wubbe 17-01-11 22:24

Of je bepaalt de cel-hoogte in IB.

Whacko 18-01-11 11:27

Ik denk dat ie problemen met een label IN de tableViewCell heeft. Die zal standaard niet multiline zijn, en dus niet naar een "volgende regel" springen als je de cell groter maakt.

Je zult dus een custom TableViewCell moeten maken met een label dat meerdere regels bevat.

wubbe 18-01-11 11:37

Je hoeft geen custom TableViewCell te maken, ook met de standaard gaat het:
Code:

cell.textLabel.numberoflines = 2; // of 3, 4, 5, enz.. of 0 voor oneindig
(Gelijk aan het stukje van Psychonikeo)

Whacko 18-01-11 14:17

Ah kijk... ik dacht dat die misschien readonly zou zijn :)

Nikooos 18-01-11 14:56

Nee, in principe kan je alles aanpassen net zoals bij elke andere UILabel.

Dreissen 18-01-11 18:07

cell.textLabel.numberoflines = 2;

Werkt niet, heb vanalles geprobeerd ben maar eens bezig gegaan met een custom cell

wubbe 18-01-11 22:24

Citaat:

Oorspronkelijk geplaatst door Dreissen (Bericht 629796)
cell.textLabel.numberoflines = 2;

dat werkt wel. Zeker weten!


Alle tijden zijn GMT +2. Het is nu 00:17.