2011-11-01 60 views

回答

5

这将有助于如果你发布你的代码,但是:你大概是像这样的东西添加UITableView你RootViewController的:

[self.view addSubview:myUITableView]; 

只需添加您的浮动视图以同样的方式(即添加它到你的视图控制器,而不是你的UITableView)。如果在添加表格视图后添加它,它将已经在表格视图的“上方”。否则,你可以像这样把它带到顶端:

[self.view bringSubviewToFront:myOverlayView]; 

你覆盖视图应该子类UIView,它应该以使它透明自己的一套backgroundColor[UIColor clearColor]。为了允许用户继续与表视图(你可能想要发生的)进行交互,请在覆盖子类中覆盖hitTest:withEvent:并返回表视图(而不是返回self,这是默认行为)。这将通过所有触及到下面的表格视图。

+3

您可以将userinteractionenabled设置为no,并将所有事件传递到底层视图,您无需重写hitTest – jrturton

+0

@jrturton:是的,这比重写hitTest简单得多。 – MusiGenesis

+0

由于我在我的RootViewController类中,我必须写:'[self.parentViewController.view addSubview:self.myOverlayView];',但一切正常。 –