ide*_*ara 22 uitableview uiview ios swift
我正在尝试在表视图控制器中设置位于原型单元顶部的视图的高度.我使用IB设置它的高度(尺寸检查器)并将其设置为61(绿色视图是'标题'视图):
但每当我运行应用程序时,它的高度最终都会存在568.0
.我有一个IBOutlet testUIView
在我的表视图控制器中调用了视图,而且我确实:println("testUIView Height->\(testUIView.frame.height)")
并且确实最终568.0
在运行时.
以下是显示其运行时高度的屏幕截图:
所以我的问题是:如何设置视图的高度,使其在运行时为61,所以它确实看起来像我的第一个截图(尺寸方面)?
我试图在里面设置'高度属性,override func viewWillLayoutSubviews()
但它没有让我为高度赋值testUIView.frame.height = CGFloat(61.0)
.
任何帮助表示赞赏!提前致谢!
干杯!
Fre*_*ust 56
如果你想为UITableView使用标题,你可以在Interface Builder中设计另一个原型单元,根据UITableViewCell创建一个自定义类,并将它分配给类检查器的界面构建器中的原型单元格.
然后在你的控制器中你将要使用
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
Run Code Online (Sandbox Code Playgroud)
在该函数中,您实际上将从表视图中创建可重用的单元格,但是将其强制转换为您为标题创建的自定义单元格.你可以访问它的所有属性,比如常规的UITableViewCell,那么你只需要返回单元格的视图
return cell.contentView
Run Code Online (Sandbox Code Playgroud)
你将要使用的另一种方法是
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 61.0
}
Run Code Online (Sandbox Code Playgroud)
那个是非常自我解释的.
Swift 3.0.1
public override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 61.0
}
Run Code Online (Sandbox Code Playgroud)
小智 20
Swift 3/Xcode 8:
添加此内容viewDidLoad()
:
let HEADER_HEIGHT = 100
tableView.tableHeaderView?.frame.size = CGSize(width: tableView.frame.width, height: CGFloat(HEADER_HEIGHT))
Run Code Online (Sandbox Code Playgroud)
请享用!
归档时间: |
|
查看次数: |
47819 次 |
最近记录: |