inputAccessoryView如何调整大小?

时间:2018-12-05 08:52:09

标签: ios uikit nslayoutconstraint inputaccessoryview

如何控制UIResponder.inputAccessoryView的大小?太神奇了!

1 个答案:

答案 0 :(得分:0)

这困扰了我很久了。

根据我在iOS 12模拟器上的经验和观察,有两种情况,

  1. 没有自动布局。

    UIKit会自动添加高度限制及其 常数值取决于 加载点的附件视图。看来 约束实际上已翻译为自动调整大小 约束。您可以找到与高度相关的常数 并实际对其进行修改,但实际上是实现 细节,不建议这样做。我强烈 建议使用自动版式方法。

  2. 具有自动版式。

    如果在加载点无法解决尺寸问题
    附件视图,UIKit将添加一些显式 宽度/高度约束基于其合适的大小。

    如果满足这些要求,则UIKit 仅使用现有约束,而不使用 改变任何东西。

    • intrinsicContentSize 必须返回正确的值。 如果它包含UIView.noIntrinsicMetric,则UIKit会添加 它自己的高度限制。

    • 视图大小可以通过自动版式系统解决。

    由于这些限制由您自己设置,因此很安全 根据需要修改它们。另外,附件视图 将根据其内容调整大小,因此 这是唯一的常规和推荐方法 具有动态尺寸的布局附件视图。

  3. 具有自动版式和UIInputView.allowsSelfSizing

    与自动版式(#2)基本相同,但是您不需要 如果将标志设置为intrinsicContentSize,请提供true。 这是更明确的选项。