public override float GetHeightForRow(UITableView tableView, NSIndexPath indexPath)
{
MemberData memberData = null;
var sectionFirstIndexPath = NSIndexPath.FromRowSection(0, indexPath.Section);
var listSource = GetListSource(sectionFirstIndexPath);
if (listSource != null && !listSource.IsRootCell)
{
memberData = GetMemberData(sectionFirstIndexPath);
}
if (memberData == null)
{
memberData = GetMemberData(indexPath);
}
if (memberData != null && memberData.RowHeight != 0)
{
return memberData.RowHeight;
}
if (!RowHeights.ContainsKey(indexPath))
{
if (RowHeights.ContainsKey(sectionFirstIndexPath))
{
return RowHeights[sectionFirstIndexPath];
}
return tableView.RowHeight;
}
return RowHeights[indexPath];
}
#endregion