[IOS] 세그먼트 컨트롤 Setup menu segmented control

NOAH·2021년 6월 18일
0

ios

목록 보기
9/15
post-thumbnail

0. 스토리보드에 UI에 Segmented Control을 추가하고 코드에 아웃렛으로 연결

1. enum 프로퍼티를 하나 만들고 case에 할당할 문자열을 케이스마다 변수에 담아준다.

CaseIterable 를 채택해주면 모든 케이스를 리턴해줄 수 있다.

2. 세그먼트를 컨트롤해주는 함수를 선언하면 끝.

소스코드


import Foundation


// 이 프로퍼티가 리턴해주는 모든 case들을 사용할 수 있게 해줌.
enum MenuSection: String, CaseIterable {
    
    case ongoing = "Ongoing"
    case done = "Done"
}

import UIKit

class TasksViewController: UIViewController {

    
    
    @IBOutlet weak var menuSegmentedControl: UISegmentedControl!
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setupSegmentedControl()
        
        
    }
    
    private func setupSegmentedControl() {
        
        // 모든 세그먼트들을 지워준다.
        menuSegmentedControl.removeAllSegments()
        
        
        // 미리 선언해둔 Enum에 접근.모든케이스.enumerated()는 모든 인덱스를 리턴해준다.
        // 인덱스에 접근하여 세그먼트에 문자열을 insert
        MenuSection.allCases.enumerated().forEach { (index, section) in menuSegmentedControl.insertSegment(withTitle: section.rawValue, at: index, animated: false)}
        
        // 초기 시작상태를 0번 째 인덱스로 두고 시작한다.
        menuSegmentedControl.selectedSegmentIndex = 0;
    }
    


}

0개의 댓글