【问题标题】:How to draw connecting lines between two uitableviewcells ios如何在两个uitableviewcells ios之间绘制连接线
【发布时间】:2013-07-05 11:32:59
【问题描述】:

我想显示 uiTableView 的两个单元格之间的链接。

例如: 要显示单元格 1 和 5 之间的链接,可以显示为:

有没有人知道如何实现这一点。同样,当表格滚动时,这些链接也应该随之滚动。

【问题讨论】:

标签: ios uitableview drawing core-graphics


【解决方案1】:

这看起来像您想要构建分层视图。由于未考虑 HIG,您的实现可能会被 Apple 拒绝。

如果用户看不到下部,又会怎样?没有尽头的箭头,需要向下滚动以供用户使用?

你可能想做一个树状结构(任何层次结构)而不是丑陋的(抱歉)箭头。

【讨论】:

  • 不是分层视图。它们是独立的细胞。我只是想表明,它们以某种方式联系在一起。该应用程序不在应用程序商店中,所以我不太担心HIG。必须在 UI 上工作,这只是粗略的版本谢谢
【解决方案2】:

如果您想要两个单元格之间的箭头,则为 Tablecell 创建一个单独的 UIView 类,其中 UIView 添加一个 UILabel 用于文本,一个 UIImageView 用于箭头,根据您的要求调整位置。

现在将这个UIView 传递给单元格。

希望这会对你有所帮助。

【讨论】:

  • 我认为这个解决方案只有在单元格是同一部分时才有效。
【解决方案3】:

UITableViewCell 只是UIView 的子类,UITableViewUIScrollView 的子类。 UITableView 提供的唯一奇思妙想是创建/重用单元格并将它们布置在滚动视图中。 (这是一个严重的过度简化,但为此它会成功。)

因此,如果我有一个绘制箭头的UIView 子类,那么只需获取我想要指向的单元格的框架即可。 CGRect frame1 = [[self.tableView cellForRowAtIndexPath:indexPath] frame];

一些伪代码...

topCellFrame = get top cell frame;
bottomCellFrame = get bottom cell frame;
arrow = new arrow view;
arrow set frame = frame with origin of top cell frame origin, and height of distance from topCellFrame to bottomCellFrame;
tableView add subview = arrow;

有一些边缘情况需要考虑,如果顶部单元格或底部单元格不在屏幕上,cellForRowAtIndexPath: 将返回 nil 并且帧将是 CGRectZero

但我会把它留给你作为练习。

编辑:(我没有做过这个确切的事情,但我对单元格的框架做了一些类似的事情)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多