【问题标题】:How do I get dynamic height of view? (Xcode)如何获得动态视图高度? (Xcode)
【发布时间】:2018-10-02 14:35:01
【问题描述】:

我的view的静态高度设置为30,但它的文本内容长度不同,相应地扩大了view的高度。我尝试使用

以编程方式掌握高度
ingredientViewOutlet.frame.height

但这仅返回 30 的静态高度。我如何获取 view 的动态高度?

【问题讨论】:

  • 您确定视图正在扩展吗?可能只是没有剪裁到边界,并且包含文本的 UILabel(或您正在使用的任何其他视图)正在您的视图中扩展。
  • 是的,我确定。我可以看到它根据文本内容扩展,但print(ingredientViewOutlet.frame.height) 保持不变。我也试过print(ingredientViewOutlet.bounds.size.height),结果相同。
  • 我正在尝试研究解决方案。似乎它可能还需要计算视图的约束。如果我找到任何东西,会通知您。
  • 您是否尝试在 viewDidLoad 之后收集成分ViewOutlet.bounds.size.height?在“viewDidAppear”中试一试。

标签: swift xcode height


【解决方案1】:

内部:

    func viewDidAppear(_ animated: Bool){}

添加这个:

    let height = ingredientViewOutlet.frame.height

这应该让您在视图已经加载并调整到屏幕后获得视图的“动态”高度。

【讨论】:

  • 哇!非常感谢@DaWiseguy,这肯定解决了这个问题!好想法! :)
  • @tore 没问题!我刚刚在工作中完成了一个 Swift 3 iOS 项目。所以它在我的脑海里很新鲜。当你有足够的代表时,不要忘记回来并支持答案;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 2013-04-25
相关资源
最近更新 更多