没有UILabels的iOS动态表视图单元格高度

时间:2015-11-03 02:31:15

标签: ios iphone

是否可以在不使用文本相关视图的情况下使用此功能?这不是必须计算高度,而是使用具有恒定高度约束的子视图让单元格自行调整大小,并最终在运行时更改这些高度约束。

3 个答案:

答案 0 :(得分:1)

在表格视图中处理动态单元格高度更改的正确方法是tableView:heightForRowAtIndexPath:中的UITableViewDelegate。您可以从子视图中获取高度,但必须将该值链接到单元格的索引路径。

答案 1 :(得分:0)

是的,您可以构建一个具有动态高度的tableviewcell。

1.使用约束来配置tableviewcell的子视图

2.在viewdidload方法中添加一行代码:

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Http;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using Fcx.Fu.Tast.DBAccess.E2EUI;
using Newtonsoft.Json.Linq;

namespace Fcx.Fu.Tast.Xtra.WebApi.Controllers.E2Z
{
//public class Dates { string startDate{get; set;} string endDate{get;         set;}}
public class DownloadController : XtraBaseController
{

    [AcceptVerbs("GET", "POST")]
    public HttpResponseMessage GetExcelData(String id, JObject data)
    {


        switch (id)
        {
            case "xeDownload":
                return GetExceptionData(id);

            case "xaeDownload":
                return GetAssetExceptionData(id);

            case "oobDownload":
                return GetOOBExceptionData(id);

            case "techShortDownload":
                return GetTechShortExceptionData(id);

        }
        return null;
    }

3.在某些情况下,您必须在viewdidload方法中添加另一行代码:

self.tableView.rowHeight = UITableViewAutomaticDimension

答案 2 :(得分:0)

是的,你可以这样做。 首先向子视图添加约束,并在.m文件中添加以下代码。

  • (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewAutomaticDimension; }

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {     return UITableViewAutomaticDimension; }