我正在尝试将自定义子视图添加到用户滚动时不会移动的UITableViewController
。
是否可以添加这样的视图?
我正在使用UITableViewController
。我会切换到UIViewController
并添加UITableView
,但代码依赖于UITableViewController的refreshControl
。添加容器视图并拥有两个控制器对于这么简单的任务来说似乎有点多了!
我也尝试将内容添加到UINavigationController
视图,但遗憾的是,当视图控制器出现并消失时,它无法平滑显示动画。
有没有办法将固定子视图添加到UITableView
?
修改
添加容器视图并拥有两个控制器(带有嵌入segue)对于这个项目来说很难,因为我正在更新旧的代码库,并且有很多依赖于主控制器的遗留代码是{{ 1}}。如果没有嵌入segue /两个视图控制器,有没有办法实现这个目标?
答案 0 :(得分:3)
不幸的是,在UITableViewController
内为UIViewController
创建容器视图在这种情况下是不可行的。 That is a great solution if you're early enough in development to arrange things properly
我发现的最佳解决方案是根据this answer转换y
上浮动视图的scrollViewDidScroll
位置:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
self.header.transform = CGAffineTransformMakeTranslation(0, self.tableView.contentOffset.y);
}
我已经看到了修改浮动视图框架的其他答案,但我认为转换可能更合适。
作为一个有趣的方面,我能够创建一个浮动视图,当用户向下滚动时“解散”,但是当用户通过在应用转换之前检查表视图偏移来拉动刷新时,“浮动”。