2011-02-10 72 views
0

我有一個顯示在UIView中的UITableView - 我這樣做的原因是我想在表格上放置一個實心矩形(使用CGContextSetBlendMode kCGBlendModeMultiply)並不斷改變它的顏色,所以我得到了表格文本顏色不斷變化的效果。我想不出任何其他方式做這件事,但我遇到的問題是,彩色矩形總是出現在桌子下面,並牢牢地位於其他UIView的頂部(或者如果我改變子視圖的順序)。無論我做什麼,它對桌子都沒有任何影響。有沒有改變UIView內顯示順序的方法?桌子從IB連接。我不確定還有哪些其他信息需要發佈給任何可能能夠回答的人!非常感謝您的幫助。如何在UIView中的表格上放置圖形矩形

回答

0

爲了用另一個UIView覆蓋您的TableView,覆蓋的UIView必須與TableView或TableView的祖先之一具有兄弟關係。如果TableView是「在UIView中顯示的」,那麼顯示它的UIView永遠不會遮掩TableView。子視圖總是掩蓋父視圖。在「在UIView中顯示」中創建另一個UIView,它將成爲TableView的兄弟視圖,並且可以放在它的頂部。像這樣:

UIView *parentView = [[UIView alloc] initWithFrame:parentFrame]; 
UITableView *tableView = [[UITableView alloc] // table create parameters.... 
[parentView addSubiew:tableView]; 
UIView *obscuringView = [[UIView alloc] initwithObscuringFrame]; 
[parentView addSubView:obscuringView]; 

模糊視圖將位於表視圖的頂部。

+0

謝謝!似乎已經破解它!看起來很容易,當你知道如何...怪異的壽,當我複製和粘貼它的代碼時,「[ScoresView addSubView:]:無法識別的選擇器發送到實例」,這讓我扯掉我的頭髮!原來在我從瀏覽器複製的字符串中有隱藏的字符,只有當我手動輸入「insertSubView:」時纔會實現... – SomaMan 2011-02-10 14:09:18