Swift:当键盘出现时,UIView改变了大小

时间:2016-07-22 08:11:37

标签: swift animation uiview keyboard textfield

更新

故事板上的我的视图有一个高度为215的视图,它可以滑动到400高度,也可以从400向下滑动到215.

此视图的视图为自动布局0,0,0,0。在此视图中,我加载了xib文件。

xib文件包含arrowImage,UIView,"或"标签和2个按钮。

xib中的UIView包含textFields和标签,其高度设置为0,因为它不应该在启动时显示,只有在向上滑动时才会显示。

现在在向上滑动时,我将故事板中的视图调整为400并在内部调整包含文本字段的笔尖的视图大小。

问题现在是,当我点击文本字段时,无论哪一个。它将故事板中的视图调整为215,我不知道为什么会这样。

Gif看到会发生什么:

GIF

1 个答案:

答案 0 :(得分:0)

您应检查约束,如果您在项目中使用助理编辑器,则可能会遇到此类问题。在看到了我能说的最多的gif而没有检查代码之后,我提出的一些解决方案是在使用特定约束的标识符单击文本字段或删除约束并通过代码实现所有内容时更改约束。

这里有一些代码可以让您了解如何更新约束:

    view.constraints.forEach({r in

        //Here you check for the specific constrains
        //I suggest you naming similar constrains the same
        if r.identifier == "yourIdentifier" {

            //You change the constrain value
            r.constant = 6

        }

        //Update the view constrains
        view.updateConstraints()
    })

希望这是你的情况!