我有一个要显示的框列表。 每个框都有一个填充和3个文本元素。这些元素可以具有不同的大小。 我试图让它们总是有相同的填充,并且它们周围的空间,但我无法调整它们,因为我不知道如何计算每个的结果大小。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| (10px padding all over the box) |
| |
| +-------------------------------------------+ |
| | a box with a text | |
| +-------------------------------------------+ |
| (between boxes the same space) |
| +-------------------------------------------+ |
| | a box with a text | |
| +-------------------------------------------+ |
| |
| +-------------------------------------------+ |
| | a box with a text | |
| +-------------------------------------------+ |
| |
| |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
我的意思是,在HTML中,它将是一个带有10px单元格填充的简单表。
这在iPhone中可行吗?一些开发人员告诉我这不可能做到这一点,这是因为解决方案是定义一个文本占用(例如)JUST ONE LINE,并且文本必须以“......”结尾切换
答案 0 :(得分:0)
嗨,如果你知道以下事情
您可以使用以下方法
计算标签所需的高度,即使是多个换行符也是如此+ (CGSize) calculateLabelHeightWith:(CGFloat)width text:(NSString*)textString
{
CGSize maximumSize = CGSizeMake(width, 9999);
CGSize size = [textString sizeWithFont:[UIFont fontWithName:@"Helvetica" size:24]
constrainedToSize:maximumSize
lineBreakMode:UILineBreakModeWordWrap];
return size;
}
iOS 7更新
CGRect textRect = [text boundingRectWithSize:<text Feild Size>
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont stuff here]}
context:nil];
CGSize size = textRect.size;
因此,您将获得每个标签的高度,然后使用它来获得总高度+ 10px填充