Swift-分段控件-切换多个视图 [英] Swift - Segmented control - Switch multiple views

查看:215
本文介绍了Swift-分段控件-切换多个视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

直到现在,我仍然不知道如何在一个视图控制器中切换多个视图.我的故事板就是这样.

Until now I still can't figure how to switch multiple views in one view controller. My storyboard is like this one.

现在,我想在视图控制器中嵌入两个视图.

Right now I want to embed two views inside my view controller.

到目前为止,我的分段控制代码可在一个视图控制器中切换两个视图.

My code for segmented control to switch two views in one view controller so far.

import UIKit

class PopularHistoryViewController: UIViewController {

    @IBOutlet weak var segmentedControl: UISegmentedControl!

    @IBAction func indexChanged(sender: UISegmentedControl) {
        switch segmentedControl.selectedSegmentIndex
        {
        case 0:
            NSLog("Popular selected")
            //show popular view
        case 1:
            NSLog("History selected")
            //show history view
        default:
            break; 
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }


}

另一件事,如果我在控制器中放入两个视图,最好的区分方法是什么?

Another thing, If I put two views inside my controller, what is best practice to differentiate it?

推荐答案

您可以使用IBOutlets

You can use the isHidden property of the UIView to show/hide your required views. First you have to link both views to IBOutlets through the Interface builder

@IBOutlet weak var historyView: UIView!
@IBOutlet weak var popularView: UIView!

@IBAction func indexChanged(_ sender: UISegmentedControl) {
    switch segmentedControl.selectedSegmentIndex {
    case 0:
        historyView.isHidden = true
        popularView.isHidden = false
    case 1:
        historyView.isHidden = false
        popularView.isHidden = true
    default:
        break;
    }
}

注意:它在Swift 1和2中被命名为hidden.

Note: it was named hidden in Swift 1 and 2.

这篇关于Swift-分段控件-切换多个视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆