Question

I have a custom uitableviewcell with several labels and I would like for some of them to autoresize their frame (width) based on the content (text). I am not sure how to accomplish that. I tried to set fixed frame of the label and after apply autoresizingMask, but that doesn't do the trick. Any *pointer to a sample?

Was it helpful?

Solution

Use the following method:

CGSize *size = [label.text sizeWithFont:fontOfLabelText];
float widthOfLabel = size.width;

size.width will return the actual width that the text in the label will occupy on the screen. Set the label width equal to width of text.

OTHER TIPS

If you want to adjust the frame of a label to fit the labels text, just call

[label sizeToFit];

This will fit in both dimensions.

If you just want to make so that the label fits in multiple lines, you have to say:

cell.textLabel.numberOfLines = 0;

However I'm not sure if this is the one that you want... Usually if the content is text than that'll be what you want.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top