Monotouch - 计算UILabel高度

时间:2013-10-25 19:29:54

标签: iphone xamarin.ios xamarin

我正在尝试创建一个包含几个UILabel的自定义单元格。 第一个标签可能需要一行或多行,因此我需要根据行数调整标签大小(在将行数设置为0之后,将启用多行)。

我尝试过设置sizeToFit(),但它改变了标签的对齐方式和宽度。

我找到了this answer

但我不知道如何将其转换为C#。

有人能指点我的榜样吗? (我已经尝试过Googling it off-course)

这是链接中的方法:

// UILabel *myLabel;

CGSize labelSize = [myLabel.text sizeWithFont:myLabel.font 
                        constrainedToSize:myLabel.frame.size 
                            lineBreakMode:UILineBreakModeWordWrap];

CGFloat labelHeight = labelSize.height;


int lines = [myLabel.text sizeWithFont:myLabel.font 
                 constrainedToSize:myLabel.frame.size 
                     lineBreakMode:UILineBreakModeWordWrap].height/16; 
         // '16' is font size

1 个答案:

答案 0 :(得分:4)

var size = myLabel.StringSize("Some really long string", myLabel.Font, myLabel.Frame.Size, UILineBreakMode.CharacterWrap);
var lines = size.Height / myLabel.Font.CapHeight;