inputAccessoryView 如何调整大小?
Posted
技术标签:
【中文标题】inputAccessoryView 如何调整大小?【英文标题】:How inputAccessoryView gets sized? 【发布时间】:2018-12-05 08:52:09 【问题描述】:UIResponder.inputAccessoryView
的大小如何控制?太神奇了!
【问题讨论】:
【参考方案1】:这个问题困扰我很久了。
根据我对 ios 12 Simulator 的经验和观察,有两种情况,
没有自动布局。
UIKit 会自动添加一个高度约束,它的 常数值是基于帧的大小 装载点的附件视图。看来 约束实际上是翻译自动调整大小 约束。您可以找到与高度相关的常量 并实际修改它们,但因为它是实现 详细点,不建议做。我强烈 推荐使用 Auto-Layout 方式。
使用自动布局。
如果在加载点无法解决大小问题 附件视图,UIKit 会添加一些显式的 基于其拟合尺寸的宽度/高度约束。
如果满足这些要求,UIKit 只使用现有的约束,而不是 改变任何东西。
intrinsicContentSize
必须返回正确的值。
如果它包含UIView.noIntrinsicMetric
,UIKit 添加
它自己的高度限制。
视图的大小可以通过自动布局系统解决。
由于这些限制是自己设置的,所以很安全 根据需要修改它们。另外,附件视图 将根据其内容调整大小,因此 这是唯一的常规和推荐方式 具有动态大小的布局附件视图。
带有自动布局和UIInputView.allowsSelfSizing
。
与自动布局 (#2) 基本相同,但您不需要
如果您将标志设置为true
,请提供intrinsicContentSize
。
这是更明确的选项。
【讨论】:
以上是关于inputAccessoryView 如何调整大小?的主要内容,如果未能解决你的问题,请参考以下文章
inputAccessoryView 没有在 iPhone X 上获得触摸事件
如何将 UICollectionView 添加到 inputAccessoryView
如何将 UILabel 放在键盘的“inputAccessoryView”中?