按下按钮后,xcode自动布局混乱

时间:2016-05-19 07:54:12

标签: ios xcode autolayout

所以我有一个视图控制器,里面有两个独立的视图。我可以通过按下按钮在两个视图之间切换。我第一次切换一切正常。但是我第二次切换(回到第一次)视图被大幅推升。我有我需要的所有限制,我只是不知道它有什么问题。 以下是正在发生的事情的例子。

在我按下按钮并切换视图之前 Before I switch views

我从另一个视图切换回视图后。 After i switch views

以下是我在两种观点之间的变化。 有一个按钮只在同一个视图控制器中设置视图。 enter image description here

1 个答案:

答案 0 :(得分:1)

按下按钮时,您是否使用两个不同的视图控制器并在它们之间导航? 或者您是否在同一个视图控制器中切换视图?

<强>更新

我创建了一个包含2个视图的简单应用,并使用sendsubviewtoback()更改按下按钮的视图。它工作得非常好。

以下是代码:

class ViewController: UIViewController {

    @IBOutlet weak var Second: UIView!
    @IBOutlet var First: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.view.sendSubviewToBack(Second)
        Second.hidden = true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func demo(){}

    @IBAction func switchview(sender: UIButton){
        if sender.titleForState(.Normal) == "Next"{
         print("clicked next")
            self.view.bringSubviewToFront(Second)
            Second.hidden = false

    }
        else{
            print("prev clicked")
            self.view.sendSubviewToBack(Second)
            Second.hidden = true
        }
    }
}

当应用程序加载时: enter image description here 当我点击Next: enter image description here 当我点击Prev时: enter image description here

希望这是你正在寻找的。 :)