使表格视图单元格在Swift中完全填满屏幕

时间:2016-03-14 18:13:17

标签: ios swift uitableview

我在我的UITableView中有三个单元格,我在故事板中构建,当我运行它时,我在模拟器中有三个单元格,然后是空白区域。我想要做的是根据iOS设备让单元格动态填满屏幕。我该怎么做?

enter image description here

4 个答案:

答案 0 :(得分:6)

设置单元格的最小高度,如果项目很少,则使用均匀高度,否则使用minHeight。

let MinHeight: CGFloat = 100.0
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    let tHeight = tableView.bounds.height

    let temp = tHeight/CGFloat(items.count)

    return temp > MinHeight ? temp : MinHeight
}

答案 1 :(得分:1)

您是否有理由使用UITableView?如果你打算将它放到屏幕上并且没有可变数量的单元格可以滚动,TableView真的不会给你带来任何实际好处。

如果您只想拥有3个视图,每个视图的屏幕高度为1/3,您只需使用IB将每个视图设置为屏幕的1/3,使用this answer中的方法< / p>

或者,如果您想使用自动布局,这是更好的解决方案,您可以使用this technique来完成。

答案 2 :(得分:0)

regex {func(\(.*\))} "func(test)" a b puts $a $b 设置UITableViewDataSource方法,根据- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath内容高度的高度来计算行的高度。

答案 3 :(得分:0)

在viewDidLoad方法中设置零高度页脚视图。

r = /
    \A         # match start of string
    (?:        # begin a non-capture group
      [a-z'-]+ # match >= characters in character class
      \s+      # match > 0 characters
    ){2}       # end non-capture group and match it twice
    /xi

"It's tea-time at the Ritz".gsub(r, '')
  #=> "at the Ritz"