我有以下代码,我已经改编自Xamarin MobileCRM示例:
[assembly: ExportCell(typeof(ListTextCell), typeof(ListTextCellRenderer))]
namespace Manager.iOS
{
class ListTextCellRenderer : TextCellRenderer
{
public override UITableViewCell GetCell(Cell item, UITableView tv)
{
var cellView = base.GetCell(item, tv);
cellView.TextLabel.Lines = 0;
return cellView;
}
}
}
我想让TextLabel在包含的文本多于设备的宽度时进行切换/换行,因此行的大小会随之增大。当我设置Lines = 0时;它包裹标签,但行高保持不变,因此每行只是相互重叠。如何增加行高?
由于
答案 0 :(得分:1)
在tableView源代码中,您需要覆盖以下方法
public override float GetHeightForRow(UITableView tableView, NSIndexPath indexPath)
{
var text = new NSString(yourTextHere);
var size = text.StringSize(UIFont.FromName("FontName", fontSize), new SizeF(tableView.Frame.Width, 70)); // The 70 can be any number, the width is the important part
return size.Height + 16; // 16 is for padding
}
答案 1 :(得分:0)
您可能需要在TableView上设置HasUnevenRows或RowHeight