【发布时间】:2016-02-13 13:20:35
【问题描述】:
所以我使用UITableView 来显示有关不同电影的信息。
在 VC 的顶部,我有一个 UIImage,它位于 UIView 的内部。然后我的桌子就在下面。该表当前位于图像的底部(这是我想要的),见下文:
问题
我按照教程添加了一个简单的效果,所以当用户拉下tableView时,图像会放大。您可以通过在此处查看教程来了解我的意思:See here
这一切都很好,并给了我想要的效果,然而,现在它在图像下方添加了一个空白区域,请参见下图:
一切仍然正常,效果按预期工作,但这个空间现在在那里 - 我真的不想要。
该 VC 的情节提要中的设置如下:
我添加的制作效果的代码如下:
private let KTableHeaderHeight: CGFloat = 160.0 // which is the height of my UIImage
var headerView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
headerView = tableView.tableHeaderView
tableView.tableHeaderView = nil
tableView.addSubview(headerView)
tableView.contentInset = UIEdgeInsets(top: KTableHeaderHeight, left: 0, bottom: 0, right: 0)
tableView.contentOffset = CGPoint(x: 0, y: -KTableHeaderHeight)
updateHeaderView()
}
然后:
func updateHeaderView() {
var headerRect = CGRect(x: 0, y: -KTableHeaderHeight, width: tableView.bounds.width, height: KTableHeaderHeight)
if tableView.contentOffset.y < -KTableHeaderHeight {
headerRect.origin.y = tableView.contentOffset.y
headerRect.size.height = -tableView.contentOffset.y
}
headerView.frame = headerRect
}
override func scrollViewDidScroll(scrollView: UIScrollView) {
updateHeaderView()
}
如果我注释掉我添加的所有代码,它看起来又很好,所以我猜是这段代码导致了空间。
我真的很想了解为什么会形成这种差距,以及如何消除它,仍然使用添加的代码来制作图像放大效果。
更新
我的 UIImageView 布局属性:
【问题讨论】:
-
标题中的
imageView有哪些布局属性? -
好吧,阅读代码我会放弃我的答案
标签: ios swift uitableview uiview uiimageview