UITableView 中如何拥有行跨度?

发布于 2024-12-10 13:37:29 字数 1238 浏览 0 评论 0原文

如何构建以下视图?

我想使用标准 UITableViewController 构建一个表单,但我需要一个跨越前两行的图像。行中有文本(未显示)。

我考虑过的一种方法是让图像和前两行实际上是一行,其中嵌入另一个 UITableView ,并禁用滚动。

但我真的很想做一些缩进的事情。

                                UITableView
                          +-----+---------------+
                          |     |               |  <---+ Row 0
        UIImageView +---> |     +---------------+
                          |     |               |  <---+ Row 1
                          +-----+---------------+
                          |                     |  <---+ Row 2
                          +---------------------+
                          |                     |
                          +---------------------+
                          |                     |
                          +---------------------+
                          |                     |
                          +----------------
                          |
                          +-----------
                          |
                          +------
                          |            Etc..
                          +--
                          |

如何使用最少的小部件/最少的代码(对于 iOS 4+)来实现这一目标?

How do I build the following view?

I want to build a form using a standard UITableViewController, but I need to have an image that spans the first two rows. Rows have text in them (not pictured).

One way I've considered is to have the Image and first two rows actually be one row with another UITableView embedded inside it, with scrolling disabled.

But I'd really like to do something with indenting.

                                UITableView
                          +-----+---------------+
                          |     |               |  <---+ Row 0
        UIImageView +---> |     +---------------+
                          |     |               |  <---+ Row 1
                          +-----+---------------+
                          |                     |  <---+ Row 2
                          +---------------------+
                          |                     |
                          +---------------------+
                          |                     |
                          +---------------------+
                          |                     |
                          +----------------
                          |
                          +-----------
                          |
                          +------
                          |            Etc..
                          +--
                          |

How can I accomplish this, using the fewest widgets / least amount of code (for iOS 4+)?

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

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

发布评论

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

评论(3

空城之時有危險 2024-12-17 13:37:29

您可能已经意识到这不是标准的,所以我认为您的三个选择是:

  1. 两张看起来像一张的图像。
  2. 第 1 行和第 1 行2 实际上是 1 行,看起来像是两行。
  3. 第 1 行的图像与前两行一样大,并且子视图剪切已关闭,因此它覆盖了第二行。

我倾向于使用选项#1,但如果图像会发生变化或动态,我可能会选择选项#2

You've probably realized this isn't standard, so I think your three options are:

  1. Two images that fit to look like one.
  2. rows 1 & 2 are actually 1 row that looks like it's two rows.
  3. row 1 has an image as big as the first two rows, and subview clipping is off so it overlays row two.

I'd be inclined to use option #1, but if the images will change or be dynamic, I might go for option #2

夏了南城 2024-12-17 13:37:29

我最终在第 0 行 UITableViewCell 内放置了一个 UIImageView 和一个嵌套的 UITableView。嵌套的 UITableView 已禁用滚动,并提供一组两行。然后我只需要稍微修改一下框架。

I ended up putting a UIImageView and a nested UITableView inside the row 0 UITableViewCell. The nested UITableView has scrolling disabled and provides one group with two rows. Then I just had to fudge the frame a bit.

夜雨飘雪 2024-12-17 13:37:29

我认为最好的选择是为前 2 个单元格创建 UITableViewCell 子类。您应该能够将其布局为看起来像 1 个大单元格或跨行单元格,然后对所有剩余单元格使用默认值。

I think your best bet would be to subclass UITableViewCell for your first 2 cells. You should be able to lay it out to look like 1 big cell or your rowspanned cells, then just use the default for all the remaining cells.

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