如何在 UIView 中的表格上放置图形矩形

发布于 2024-10-16 22:27:19 字数 308 浏览 0 评论 0原文

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

I've got a UITableView which is shown in a UIView - the reason I've done this is that I want to place a solid rectangle over the table (with CGContextSetBlendMode kCGBlendModeMultiply) and continuously change its colour, so I get the effect of the table's text continuously changing colour. I can't think of any other way of doing this, but the problem I have is that the coloured rectangle always appears below the table and sits solidly on top of (or below if I change the order of the subviews) the other UIViews. It doesn't seem to have any effect on the table no matter what I do. Is there any way of changing the display order within the UIView? The table is connected from IB. I'm not sure what other info I need to post for anyone who might be able to answer! Thanks very much for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

临风闻羌笛 2024-10-23 22:27:19

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

模糊视图将位于表视图的顶部。

In order to cover your TableView with another UIView, the covering UIView must have a sibling relationship with the TableView or with one of the ancestors of the TableView. If the TableView is "shown in a UIView", that UIView that it's shown in can never obscure the TableView. Child views always obscure parent views. Create another UIView inside the "shown in UIView", it will then be a sibling view to the TableView, and can be put on top of it. Like this:

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

The obscuring view will then sit on top of the table view.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文