我试图将UIView(横幅)放在列表顶部(tableView),因此当用户向下滚动列表时,UIview不会消失。 我尝试了这段代码,但没有用。
override func viewDidLayoutSubviews() {
self.view.addSubview(banner)
banner.frame.size.width = self.view.frame.size.width
}
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
var rect = self.banner.frame
rect.origin.y = max(0,scrollView.contentOffset.y + scrollView.contentInset.top)
self.banner.frame = rect
}
有任何建议如何解决?谢谢
答案 0 :(得分:2)
使用scrollView
,更方便的方法是使用标准UIViewController
并将UIView
附加到顶部,而不是尝试将视图保留在AutoLayout
中constraints
和UITableView
的底部附加UIView
的底部和UIViewController
的底部。
使用此布局时,只有较小的tableView
会滚动,UIView
将固定不动,超出滚动范围UITableViewCells
。
如果您目前正在使用UITableViewController
,则需要从override
方法中移除tableView
修饰符,使UIViewController
实施UITableViewDataSource
和UITableViewDelegate
,然后将delegates
附加到代码或故事板中。
您的新UIViewController
顶部会显示如下:
class MyController: UIViewController, UITableViewDataSource, UITableViewDelegate {
...
}