我正在以编程方式创建我的观点。我的UITableView
子类中有一个UIViewController
我想要添加一个滚动子视图,而不是一个单元格。我想在UITableView
添加一些基于文本的子视图,它与表格一起滚动并从y = 0开始,因此用户只有在按下表格时才能看到它。也就是说,它应该位于我表格的第一部分之上。如果它有助于可视化,我打算做一些类似于“向下滚动以刷新”功能的东西,并希望向用户显示向下滚动导致刷新。是否有任何方法可以做到这一点,没有像使用另一个UITableViewCell
来表示它或滥用UITableView
委托方法在用户滚动时移动视图?
只需在我的[tableView addSubview:]
中使用viewWillLoad
,只会使其显示一瞬间,然后在加载表数据后消失。这对我来说似乎很奇怪,因为UITableView
是UIScrollView
的子类,它意味着在其中包含其他视图。使用[tableView.backgroundView addSubview]
无效。
P.S。为什么不使用UIRefreshControl
呢?我仍然未定,但倾向于不使用一个,因为我不喜欢当刷新通常非常快时,旋转轮“感觉”的速度有多慢。我一直在寻找其他选项,例如巧妙地闪烁背景,如果花费的时间比平时长,只显示一个轮子。
答案 0 :(得分:0)
我只能使用表视图实现pull to refresh
使用滚动视图委托执行此操作,因为tableview是滚动视图的子类。
将视图控制器设置为tableview委托并实现
当scrollview内容偏移y值传递一个点时,向viewcontroller.view而不是tableview添加标签。向后滚动或释放时,删除视图。
您也可以将标签添加到表格视图并将框架原点设置为负y值,因此当您拉动标签时将移动到视图中(从未测试过这可能不起作用)