调整键盘的自动布局视图

Posted

技术标签:

【中文标题】调整键盘的自动布局视图【英文标题】:Adjusting Auto Layout view for keyboard 【发布时间】:2015-02-24 19:28:46 【问题描述】:

我正在使用自动布局在我的 iPhone 应用程序中创建登录屏幕。一切正常,我正在使用这个应用程序的基本模板:https://github.com/syoutsey/UIScrollViewAutolayout。本质上,视图层次结构如下:

查看(超级查看) 滚动视图 内容视图 文本字段 1 文本字段 2 按钮

为了使UIScrollView 能够计算出contentSize,我必须明确地将Content View 中的每个控件绑定在一起,然后将最底部的控件(在本例中为button)绑定到Content View 的底部。这一切都很好,但打破了自动布局的基本原则,因为事情不是硬编码的,只有关系被指定。如何设置我的 UI 元素,以便它们遵循自动布局原则并且 Scroll View 仍然能够动态计算 contentSize

【问题讨论】:

您很可能不需要滚动视图。只要您的所有子视图都设置了适当的约束,您就应该能够更改其中一个视图的底部空间约束,并且一切都应该相应地移动。为几个约束设置动画会以完全相同的方式为您移动所有内容。 【参考方案1】:

https://github.com/op183/ScrollViewAutoLayoutExampe

我添加了键盘和登录 segue,向您展示如何使用自动布局。基本思路很简单

.... bottomToScrollView.constant = 键盘高度 .....

只需查看代码,很容易理解

【讨论】:

以上是关于调整键盘的自动布局视图的主要内容,如果未能解决你的问题,请参考以下文章

键盘显示时更改自动布局常量

从 Xib 加载视图在自动布局后调整框架子视图的大小

使用自动布局调整子视图的大小

RootViewController 视图未使用自动布局调整大小

(自动布局)容器视图调整大小但子视图不

只想使用自动布局调整中间视图的大小