【问题标题】:Monotouch - calculate UILabel heightMonotouch - 计算 UILabel 高度
【发布时间】:2013-10-25 19:29:53
【问题描述】:

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

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

我找到this answer

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

谁能给我举个例子? (我已经尝试过用谷歌搜索它)

这是链接中的方法:

// 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

【问题讨论】:

    标签: iphone xamarin.ios xamarin


    【解决方案1】:
    var size = myLabel.StringSize("Some really long string", myLabel.Font, myLabel.Frame.Size, UILineBreakMode.CharacterWrap);
    var lines = size.Height / myLabel.Font.CapHeight;
    

    【讨论】:

    • 谢谢,真的很有帮助!
    • 尝试时我收到一条错误消息,提示 StringSize 不接受 7 个参数。在程序集中检查声明:。 public static CGSize StringSize (this NSString This, UIFont font, nfloat minFontSize, ref nfloat actualFontSize, nfloat forWidth, UILineBreakMode lineBreakMode);但它也提到它在 ios 7.0 中已弃用任何替代解决方案非常感谢!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多