【发布时间】:2016-01-14 14:19:23
【问题描述】:
我正在尝试使我的表格标题与其内容一样高。在情节提要中似乎不可能做到这一点,所以我尝试在加载视图时以编程方式设置高度。然而,表头比它的子视图高得多,而帧大小据说是相同的。
我在 viewDidLoad 函数中做了这个。
override func viewDidLoad() {
super.viewDidLoad()
ongoingOrderTableView.backgroundColor = UIColor.blueColor()
tableHeader.backgroundColor = UIColor.redColor()
tableHeader.frame.size.height = 440
print(tableHeader.frame.size)
//(560.0, 440.0)
print(qrLabel.frame.size)
//(54.0, 21.0)
print(qrImage.frame.size)
//(440.0, 440.0)
}
打印结果显示设置正确。
有人可以解释为什么会发生这种情况以及如何解决这个问题吗?
【问题讨论】:
-
可能你的图片太小了?将 UIImageView 内容模式设置为 aspectFill 并查看它是否改变
-
@zp_x 什么也没发生。根据输出,标题视图的宽度应为 560,高度为 440。但它的高度似乎大于宽度。我无法理解。
-
我觉得导航栏高度大概是44左右,所以相对header高度大概是440左右。你的图片大概是导航栏高度5左右,所以只有200左右。图片是你自己生成的还是自己生成的png 文件?
-
如果生成的图片,可能有一些透明的padding,可以下载一个png图片试试看是否正确显示
-
@zp_x 这是一个 png 图像。问题是即使我为表头设置了相等的高度和宽度,它仍然不是方形的。
标签: ios xcode swift uitableview autolayout