簡體   English   中英

在Monotouch中調整自定義UITableViewCell的大小

[英]Resizing Custom UITableViewCell in Monotouch

我想做的就是增加單個細胞的高度。 我在IB和我的代碼中增加了高度,但兩者似乎都沒有工作。 Poicell是我的自定義uitableviewcell的類。 以下是我的代碼:

public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
            var cell = tableView.DequeueReusableCell(kCellIdentifier) as PoiCell;   

            if (null == cell) {

                cell = new PoiCell();

                var views = NSBundle.MainBundle.LoadNib("PoiCell", cell, null);

                cell = Runtime.GetNSObject(views.ValueAt(0)) as PoiCell;
            }
            UIImage imgAmenity = UIImage.FromBundle ("Images/ico-ConservationGarden");
            UIImage imgRestrooms = UIImage.FromBundle ("Images/ico-restrooms");

            RectangleF rectCell = cell.Frame;
            rectCell.Height = 50;

            cell.Frame = rectCell;
            var imageView = new UIImageView(imgAmenity)
            {
                Frame = new Rectangle(10, 24, 20, 20)   
            };
            var imageView2 = new UIImageView(imgRestrooms)
            {
                Frame = new RectangleF(30, 24, 20, 20)  
            };
            cell.ContentView.Add(imageView);
            cell.ContentView.Add(imageView2);

            cell.Title = _poiFilterController.Posts[indexPath.Row].Title;
            cell.Distance = _poiFilterController.Posts[indexPath.Row].Distance;
            cell.Accessory = UITableViewCellAccessory.DetailDisclosureButton;

            return cell;

}

您必須覆蓋GetHeightForRow方法並返回每行所需的高度。

public override float GetHeightForRow(UITableView tableView, NSIndexPath indexPath)
{
    return 50f;
}

嘗試添加:

cell.SetNeedsDisplay();

就在你返回牢房之前。 我相信這是我必須做的才能讓它發揮作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM