如何在swift中隐藏文本字段和自动布局约束

如何在swift中隐藏文本字段和自动布局约束,swift,Swift,因此,我的项目中有一个分段控件。我想隐藏并自动布局我的按钮。但是,如果我只是隐藏文本字段并在分段控件下标记按钮,问题仍然没有移动。因此,分段控件和下一个按钮之间有一个空格。如果我在分段控件上单击“否”,我想向上移动下一个按钮 -如果我在分段控件上单击“是” “我的分段控件”下的“下一步”按钮将约束我的文本字段,并显示分段控件下的所有文本字段和标签 -如果我在分段控件上单击“否” “我的分段控件”下的“下一步”按钮将约束我的分段控件,并隐藏分段控件下的所有文本字段和标签 谢谢你的回答 一个快速示例

因此,我的项目中有一个分段控件。我想隐藏并自动布局我的按钮。但是,如果我只是隐藏文本字段并在分段控件下标记按钮,问题仍然没有移动。因此,分段控件和下一个按钮之间有一个空格。如果我在分段控件上单击“否”,我想向上移动下一个按钮

-如果我在分段控件上单击“是” “我的分段控件”下的“下一步”按钮将约束我的文本字段,并显示分段控件下的所有文本字段和标签

-如果我在分段控件上单击“否” “我的分段控件”下的“下一步”按钮将约束我的分段控件,并隐藏分段控件下的所有文本字段和标签

谢谢你的回答


一个快速示例,说明如何根据区段开关更改按钮的位置

下图显示了在分段开关和按钮之间拖动自动布局高度

下图显示了使用插座和类型需要NSLayoutConstraint

在您的ViewController.Swift中,代码应该如下所示

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var switchControl: UISegmentedControl!

@IBOutlet weak var heighConstraint: NSLayoutConstraint!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

@IBAction func switchPressed(_ sender: Any) {
    switch switchControl.selectedSegmentIndex
    {
        case 0:
            // here you can see the constant is being set, this will determine the
            //  position of your button. You will need to set the correct position.
            heighConstraint.constant = 150
        case 1:
            heighConstraint.constant = 200
        default:
            break;
    }

  }
}

希望此答案有帮助。

创建高度约束出口,并在要隐藏时将其常数设置为0。使用UIStackView可获得更好的效果您需要创建高度约束使用出口并根据线段的选择将其高度约束设置为0谢谢回答,但如果我有“下一步”按钮上的“底部构造”为了超级视图,下一个按钮不会移动。你有其他想法吗?我想制作2个下一个按钮,我将隐藏另一个按钮。因此,我的方法是将所有文本字段放在一个视图中,隐藏视图,并使用heightconstraint.constant类似于20。所以按钮会在你的分段开关下移动。Hi@IndraSen为了帮助你,我用我的方法创建了一个简单的项目,你可以在我的Hi@IndraSen上查看,如果有帮助,请告诉我。所以我可以更新答案。