2012-03-30 19 views
4

私がしたいのは、個々のセルの高さを上げることです。私はIBと私のコードで高さを増やしましたが、両方とも機能していないようです。 Poicellは私のカスタムuitableviewcellのクラスです。以下は、私のコードです:Monotouchでカスタム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; 

} 

答えて

6

あなたはGetHeightForRowメソッドをオーバーライドして、各行が持つようにしたいの高さを返すことがあります。追加

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

試してください:あなたはセルを返す直前に

cell.SetNeedsDisplay(); 

。私はこれを働かせなければならないと考えています。

関連する問題