返回 导航

Swift

hangge.com

Swift - 使用Segmented Control进行多个视图View的切换

作者:hangge | 2016-02-26 09:50
本文介绍如何使用分段选择控件(UISegmentedControl)来切换同一个VC下多个页面视图。

1,实现原理
在页面同一位置叠加多个 UIContainerViewController,根据 Segmented Control 的选择改变各个 Container View hidden 属性。

2,效果图
本样例演示两个视图的切换。
              

3,实现步骤
(1)在StoryBoard中,往页面里添加一个 Segmented Control,以及一个 Container View
(可以看到,这个Container会自动 Embed 进来一个 View Controller。)

(2)继续添加一个 Container View,位置大小和前面添加的 Container View 相同,覆盖在上面。 

(3)为便于效果演示,我们分别给两个Container对应的View Controller中添加不同的 Label 标签加以区别。 (当然实际开发中,可以在其中添加更复杂的内容)

(4)将两个 Container ViewSegmented Control 控件、以及 Value Changed 事件与代码相关联。完整代码如下:
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var segmentedControl: UISegmentedControl!
    @IBOutlet weak var firstView: UIView!
    @IBOutlet weak var secondView: UIView!
    
    @IBAction func indexChanged(sender: UISegmentedControl) {
        switch segmentedControl.selectedSegmentIndex
        {
        case 0:
            firstView.hidden = false
            secondView.hidden = true
        case 1:
            firstView.hidden = true
            secondView.hidden = false
        default:
            break;
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        firstView.hidden = false
        secondView.hidden = true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

源码下载:hangge_1063.zip
评论

全部评论(4)

回到顶部