【问题标题】:Dynamically Adjust Width of Table View Embedded in Popover to Fit Cell Content动态调整嵌入在 Popover 中的表格视图的宽度以适应单元格内容
【发布时间】:2016-03-12 23:33:44
【问题描述】:

我的风景,iPad 应用程序有一个表格视图控制器,显示为来自条形按钮项目的弹出窗口。

为了使弹出框适合表格视图大小,我在表格视图控制器的代码上执行此操作:

override func viewDidLoad()
{
    super.viewDidLoad()

    tableView.estimatedRowHeight = 44.0
    tableView.rowHeight = UITableViewAutomaticDimension
    tableView.scrollEnabled = false
}

override func viewWillAppear(animated: Bool)
{
    super.viewWillAppear(animated)

    tableView.reloadData()   
    preferredContentSize = tableView.contentSize
}

这适用于将弹出框的高度调整为表格视图的高度(考虑到行数和每行的高度)。

但是,如果我将其中一个单元格的标签设置为一个太长的字符串,它会截断 (...),即使屏幕上有足够的空间供弹出框(和表格视图)进一步水平增长。

我可以硬编码一些足够大的宽度,像这样:

override func viewWillAppear(animated: Bool)
{
    super.viewWillAppear(animated)

    tableView.reloadData() 

    var size = tableView.contentSize
    size.width = 600  
    preferredContentSize = size 
}

...但我更喜欢动态和优雅的解决方案(例如,适合所有单元格内容的最小宽度)。

【问题讨论】:

  • 兄弟请加截图让我看得更清楚
  • 表格视图单元格的label 显示为:“OneTwoThr...”而不是“OneTwoThreeFour.”。表格视图和弹出框仍然可以水平增长以适应它,但它们不会。

标签: ios uitableview uipresentationcontroller


【解决方案1】:

使用这些来动态处理它们

DynamicView.autoresizingMask = UIViewAutoresizing.FlexibleTopMargin .union(UIViewAutoresizing.FlexibleLeftMargin .union(UIViewAutoresizing.FlexibleRightMargin))

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2016-07-25
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多