문제

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?

도움이 되었습니까?

해결책

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.

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top