2011-11-01 31 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];',但一切正常。 –