在桌面上的UiView
我试图把一个UIView(横幅)放在列表(tableView)的顶部,所以当用户向下滚动列表时,UIview不会消失。 我试过这段代码,但没有工作。在桌面上的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
}
任何意见,如何解决呢?谢谢
而不是试图保持scrollView
中的观点,更简单的方法是使用一个标准的UIViewController
附有使用AutoLayout
顶部与constraints
和UITableView
连接到UIView
和底部的UIView
底部的UIViewController
。
采用这种布局,只有你的小tableView
将滚动和你的UIView
将固定到位,滚动UITableViewCells
的范围之内。
如果您正在使用UITableViewController
,你需要从你的tableView
方法去除override
改性剂,让你的UIViewController
实施UITableViewDataSource
和UITableViewDelegate
,然后装上delegates
无论是在代码或情节串连图板。
您的新UIViewController
是这样的顶部:
class MyController: UIViewController, UITableViewDataSource, UITableViewDelegate {
...
}
是的,我想过,但我认为应该有一种方法,如何将uiview粘贴到顶部,因为它不是列表的主单元格(tableView) – lukas28277
@ lukas28277的一部分。检查我刚刚做出的重复链接。 – 2017-03-06 17:19:55
@ lukas28277该视图不是列表中主要单元格的一部分的事实是我推荐我的方法的确切原因。它完全分离了你从tableview和tableview逻辑中描述的这个辅助视图。 – Kyle
请分享你的设计,你确切想你为什么要使用滚动视图功能与表视图做 – 2017-03-06 16:53:21
?你只定义了横幅的宽度,那么高度呢? –
你是从'UIViewController'还是'UITableViewController'继承你的视图控制器?你可以分享你想要的截图吗? – Adeel