Reputation: 2709
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?
Upvotes: 3
Views: 2833
Reputation: 1463
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.
Upvotes: 2
Reputation: 6767
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.
Upvotes: 3
Reputation: 19790
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.
Upvotes: 0