2011-02-10 55 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