【发布时间】:2016-03-08 02:48:24
【问题描述】:
我试图在 UITableViewController 滚动时保留一个带有标签、segmentedControl 和一个按钮的 UIView。我不能将 ViewController 与 UITableView 一起使用,因为我的 TableViewCells 是静态的,其中包含 UITextFields。我知道这可以通过 ViewController 和 ContainerViewController 来完成,但是,这使得需要在视图之间传递的数据量变得复杂。我正在寻找 swift 中的 scrollViewDidScroll 解决方案。
这是我目前所拥有的。我已经在情节提要中创建了视图(也许这是问题的一部分。) labelView 通过插座连接。
override func scrollViewDidScroll(scrollView: UIScrollView) {
var rect = self.labelView.frame
rect.origin.y = min(0,scrollView.contentOffset.y + scrollView.contentInset.top);
self.labelView.frame = rect;
}
【问题讨论】:
-
这样的? stackoverflow.com/questions/5441938/…(tableHeaderView 作为 tableview 的内置属性)
-
我想这可行。但是,我的 tableView 目前有 3 个部分,每个部分有 1 行。每个部分都有一个标题。
-
哦,如果它们是静态的,您可以在额外的单元格中创建视图并覆盖 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 确保无法选择单元格。
-
如何将视图始终保留在屏幕顶部的额外单元格中?需要明确的是,我有一个视图,无论我在 tableview 屏幕上的哪个部分,我都想保持在屏幕的停止位置。
标签: ios swift uitableview uiview uiscrollview