在RootViewController中通过UITableView浮动视图

Dav*_*las 7 cocoa-touch uitableview

在RootViewController的主UITableView中.

如何在RootViewControllers TableView上添加一个View,它的位置相对于屏幕而不是TableView,所以它不会随之滚动?

注意 - 它将是一个进度条,显示表下载进度的新数据.

Mus*_*sis 5

如果您发布了代码,它会有所帮助,但是:您可能会将这样的内容添加UITableView到RootViewController中:

[self.view addSubview:myUITableView];
Run Code Online (Sandbox Code Playgroud)

只需以相同的方式添加浮动视图(即将其添加到视图控制器,而不是添加到UITableView).如果在添加表视图后添加它,它将已经在表视图的"上方".否则你可以用这样的东西把它带到顶端:

[self.view bringSubviewToFront:myOverlayView];
Run Code Online (Sandbox Code Playgroud)

您的叠加层视图应该是子类UIView,它应该设置为自己的backgroundColor,[UIColor clearColor]以使其透明.为了允许用户继续与表视图(您可能想要发生)进行交互,在覆盖子类中重写hitTest:withEvent:并返回表视图(而不是返回self哪个是默认行为).这会将所有触摸传递到下面的表格视图.

  • 您可以将userinteractionenabled设置为no,并将所有事件传递给基础视图,您不需要覆盖hitTest (3认同)