“单色”对话框多行元素高度未增长

本文关键字:高度 元素 单色 对话框 | 更新日期: 2023-09-27 17:57:36

我有一个简单的自定义多行元素,我将其换行模式设置为wordwrap,并将lines属性设置为7。我的文本似乎很好地换行,但单元格高度保持不变,因此文本扩展了单元格的边界。我尝试过增加单元格的边框并覆盖GetHeight,但这两种情况似乎都不起作用。此外,我的GetHeight似乎甚至没有被调用。

有人面对类似的东西吗?或者对这个问题可能是什么有什么想法?

public class DisclaimerMultilineElement : MultilineElement
{
    public DisclaimerMultilineElement (string caption) : base(caption)
    {
    }
    public DisclaimerMultilineElement (string caption, string value) : base(caption, value)
    {
    }
    public DisclaimerMultilineElement (string caption, NSAction tapped) : base(caption, tapped)
    {
    }
    public override float GetHeight (UITableView tableView, NSIndexPath indexPath)
    {
        var ht = base.GetHeight (tableView, indexPath);
        //return base.GetHeight (tableView, indexPath);
        return 400.0f;
    }
    public override UITableViewCell GetCell (MonoTouch.UIKit.UITableView tv)
    {
        UITableViewCell cell = base.GetCell (tv);
        var frame = cell.Frame;
        frame.Height = 300f;
        //cell.Frame = new System.Drawing.RectangleF(frame.X, frame.Y, frame.Width, frame.Height);
        cell.BackgroundColor = UIColor.Clear;
        cell.TextLabel.Font = UIFont.BoldSystemFontOfSize (12);
        cell.TextLabel.LineBreakMode = UILineBreakMode.WordWrap;
        cell.TextLabel.Lines = 7;
        cell.TextLabel.TextAlignment = UITextAlignment.Left;
        cell.TextLabel.Text = Value;
        return cell;
    }
}

“单色”对话框多行元素高度未增长

确保根元素中的UnevenRows设置为true

您需要覆盖UITableViewSource中的GetHeightForRow并返回适当的高度。