让我们说,如果您在帐户文本字段中输入内容后按屏幕底部的按钮,则还需要输入密码,如第二张图片中所示。
我该怎么做?我不认为创建一个新的视图控制器会很好。那么,我应该以某种方式修改相同的视图控制器吗?
如何在帐户文字字段下添加新密码文字字段?
请记住,它们仍然居中。隐藏和取消隐藏在这种情况下不起作用,我还需要修改更多的东西,而不仅仅是添加该文本字段。
答案 0 :(得分:0)
首先,创建一个UIView
,其中包含您需要的所有内容。在这个例子中,我将只有两个文本字段,它们都是彩色编码。
视图需要水平和垂直居中,宽度和高度。设置要在以后更新的高度约束的标识符。将clip to board
设置为true,这样当我们重新设置视图的高度时,下面的文本字段将隐藏。视图的设置将如下所示
对于您的文本字段,它们必须具有常量填充到顶部。在我的例子中,它们被设置为水平居中,具有恒定的高度,宽度和填充到opp。
现在,您需要做的就是从代码中获取视图的高度,并设置高度以显示或隐藏文本字段。
var flag = true
@IBAction func click(_ sender: Any) {
if flag {
flag = false
let filteredConstraints = theView.constraints.filter { $0.identifier == "viewHeight" }
if let heightConstraint = filteredConstraints.first {
heightConstraint.constant = 60
}
} else {
flag = true
let filteredConstraints = theView.constraints.filter { $0.identifier == "viewHeight" }
if let heightConstraint = filteredConstraints.first {
heightConstraint.constant = 128
}
}
}
这是在simulater中运行的代码。
答案 1 :(得分:0)
另一个选项是你可以在中心制作tableView,你需要创建tableview高度约束插座,
然后你可以维护一个计数器你想要添加View的次数,计数器应该在tableView numberOfRowsInSection
中返回,
并且您可以在Prototype Cell中使用NIB创建此视图,然后只调整标题标签文本,textField占位符和特定单元格索引上的文本,
当您增加或减少计数器更新tableView约束时,例如您的单元格高度为50,在第一种情况下,当您在tableView中的单元格上时,可以将tableView高度约束的常量设置为50,当单元格为2时为100等等......
我认为这是一个简单的逻辑