【问题标题】:How to place a graphic rectangle over a table in a UIView如何在 UIView 中的表格上放置图形矩形
【发布时间】:2011-02-10 11:00:34
【问题描述】:

我有一个显示在 UIView 中的 UITableView - 我这样做的原因是我想在表格上放置一个实心矩形(使用 CGContextSetBlendMode kCGBlendModeMultiply)并不断改变它的颜色,所以我得到了表格文本不断变化颜色的效果。我想不出任何其他方式来做到这一点,但我遇到的问题是彩色矩形总是出现在表格下方,并且牢固地位于其他 UIViews 的顶部(如果我更改子视图的顺序,则位于下方)。不管我做什么,它似乎对桌子没有任何影响。有什么方法可以改变 UIView 中的显示顺序吗?该表从 IB 连接。我不确定我需要为任何能够回答的人发布哪些其他信息!非常感谢您的帮助。

【问题讨论】:

    标签: iphone uitableview uiview layer


    【解决方案1】:

    为了用另一个 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];
    

    然后,遮挡视图将位于表格视图的顶部。

    【讨论】:

    • 谢谢!这似乎破解了它!当你知道如何时看起来很容易......奇怪的是,当我复制并粘贴代码时,它不断出现“[ScoresView addSubView:]:无法识别的选择器发送到实例”,这让我把头发扯掉了!原来我从浏览器复制的字符串中有隐藏字符,只有当我手动输入“insertSubView:”时才意识到......
    猜你喜欢
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 2012-08-20
    • 2021-08-19
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多