如何使用宽度和字体大小获取字符串高度?

时间:2015-09-17 08:55:38

标签: ios string swift height

我需要知道字符串高度,所以我可以设置单元格高度。问题是我得到字符串异步,我需要在创建集合视图之前知道单元格高度。我需要使用不同的语言(特殊字符)。

字符串将位于单元格内的标签中。我有一些我的解决方案,但其中一个没有使用其他语言,另一个确实有效,但没有得到真正的高度。

3 个答案:

答案 0 :(得分:1)

    CGRect rect =[yourLabeltextString boundingRectWithSize:CGSizeMake(yourLabel.width, CGFLOAT_MAX) 
                 options:(NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin) 
              attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetica" size:17]} 
                 context:nil];
  CGFloat height=rect.height;

使用上面的代码,并将属性更改为您喜欢的属性。您可以获得字符串的高度。

答案 1 :(得分:0)

试试这个功能,我希望它会对你有所帮助:

- (CGFloat)calculateHeightForLabel:(UILabel *)label
{
    CGRect frame = label.frame;
    CGSize size = [label sizeThatFits:CGSizeMake(frame.size.width, FLT_MAX)];
    return size.height;
}

答案 2 :(得分:0)

在Swift 5中使用它

<form method="GET" action="" name="charttype">
  <select name="charttype" id="charttype" class="custom-select" value="charttype">
    <option selected value="0">Choose...</option>
    <option value="1">Pie Chart</option>
    <option value="2">Scatter Chart</option>
    <option value="3">Bar Chart</option>
    <option value="4">Line Chart</option>
  </select>
  <input type="submit" name="submit" value="submit">
</form>
<?php
 if(isset($_GET['submit'])){
  echo $chart_type = $_GET['charttype'];
 }     
?>