【问题标题】:Custom layout UITableViewHeaderFooterView自定义布局 UITableViewHeaderFooterView
【发布时间】:2015-04-04 15:04:02
【问题描述】:

所以我只是尝试继承 UITableViewHeaderFooterView 并通过覆盖 -layoutSubviews 来按照我想要的方式对齐标签。

但是,当我调用 super 并更改标签的 frame 时,应用似乎陷入了无限的 -layoutSubviews 循环。

我的代码如下所示:

- (void)layoutSubviews
{
    [super layoutSubviews];
    self.textLabel.frame = CGRectMake(10.0, 10.0, 300.0, 40.0);
}

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 我也有同样的问题...你解决过这个问题吗?
  • 我最终从 UIView 子类化并自己添加了这些标签。
  • 好的。我认为您没有从表格视图中重用标题吗?我通过不使用内置标签并添加了自己的标签来使其工作,这样您仍然可以重用标题。不过花了一段时间才让它工作。
  • 我还是缓存了它们,以便在屏幕旋转时做一些漂亮的动画,所以无论如何我都不想重复使用它们。

标签: ios layout infinite-loop uitableview


【解决方案1】:

似乎试图修改backgroundViewcontentView 的框架不仅会导致无限循环,而且会忽略您为其框架设置的任何值,从而使它们的存在变得毫无用处。我已经恢复使用backgroundViewcontentView 作为我自己的自定义子视图的哑容器,它们具有自己的背景视觉效果和布局属性。 :S

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2015-04-05
    • 2017-10-15
    • 2016-06-28
    • 2015-08-11
    相关资源
    最近更新 更多