2017-06-09 35 views
0

enter image description here从viewController快速更换容器

在主viewController中,我放置了容器视图和2个按钮下面。我想通过这些按钮只更改容器部分。默认显示的是容器1,按下按钮2时,容器部分切换到容器2。我应该怎么做?谢谢,

回答

0

让IBOutlet中与这个故事板相关的您的视图控制器,方法时按下按钮叫 - button1Pressed和button2Pressed - > `

func button1Pressed() { 
    yourContainer1.isHidden = true 
    yourContainer2.isHidden = false 
} 

func button2Pressed() { 
    yourContainer1.isHidden = false 
    yourContainer2.isHidden = true 
} 

`

+0

我厌倦了你的代码在许多方面,但没有奏效。 – sandalwalk

+0

我想,那是因为你没有把你的IBActions和我的功能联系起来,因为你使用了故事板。所以,你在答案中做了同样的事情,但是用阿尔法。假设你已经为你的视图着色了,你需要改变它的alpha值,你打算怎么做?正确的,使用isHidden属性。 – Bliss

+0

是的,我无法将我的IBAction与您的功能相关联。你能告诉我怎么做吗? – sandalwalk

0

基于this文章中,我做了我版本和它的作品。 enter image description here

在他的文章中,他将接口构建器中的container2的alpha值设置为0。但是,这并不适合我。因此,我在界面生成器1中为这两个容器设置了alpha值,如下面的截图所示。 enter image description hereenter image description here

这里是main viewController的代码。

import UIKit 

class ViewController: UIViewController { 


    @IBOutlet weak var containerViewA: UIView! 

    @IBOutlet weak var containerViewB: UIView! 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     // below sets the container1 as default 
     self.containerViewA.alpha = 1 
     self.containerViewB.alpha = 0 

    } 


    @IBAction func button1(_ sender: Any) { 

     self.containerViewA.alpha = 1 
     self.containerViewB.alpha = 0 

    } 

    @IBAction func button2(_ sender: Any) { 

     self.containerViewA.alpha = 0 
     self.containerViewB.alpha = 1 

    } 

}