NSTableView 열 추가, 삭제

7347 단어 Swift

먼저


StoryBoard 및 코드 모두에서 열을 추가, 제거하는 방법
최소한의 사용법, 다른 사람들은 정보가 많으니까 저쪽을 보세요

Storyboard


TableView를 선택하여 Columns 변경

TableColumn 추가 확인

확대 후 추가적으로 보이지 않는 위치에서 생성됩니다.
추가된 열에서 열을 축소하는 Width

코드


보면 금방.
ViewController.swift
//
//  ViewController.swift
//  TestTableView
//

import Cocoa

class ViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource {

    @IBOutlet weak var tableView: NSTableView!

    let columnName: [String] = ["column0", "column1", "column2"]
    let data: [[String]] = [
        ["TEST00", "TEST01", "TEST02"],
        ["TEST10", "TEST11", "TEST12"]
    ]

    override func viewDidLoad() {
        super.viewDidLoad()
        // 一旦、全部削っちゃう
        let tableColumns = tableView.tableColumns as! [NSTableColumn]
        for tc: NSTableColumn in tableColumns {
            tableView.removeTableColumn(tc)
        }

        for _id in columnName {
            var tc: NSTableColumn = NSTableColumn(identifier: _id)
            tc.title = _id
            tableView.addTableColumn(tc)
        }
    }

    override var representedObject: AnyObject? {
        didSet {
        }
    }

    func numberOfRowsInTableView(tableView: NSTableView) -> Int {
        return data.count
    }

    func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject? {
        if let tc: NSTableColumn = tableColumn {
            return data[row][find(columnName, tc.identifier)!]
        }
        return ""
    }
}
이 코드의 주의점은 Story Board에서 제작되었고 IBOutlet에서 얻었으며 델리멘과 데이터 원본은 Utilities에서 설정되었다.
또한 코드에서 셀로 가져올 때 View Based에서 Content Mode 를 입력합니다.

셀 베이스 주세요.

끝말


코드에서 열을 추가하거나 삭제하는 방법을 찾기 어려워 투고했습니다.
Swift로 쓰거나 Objective-C로 쓸 수 있습니다.
그럼 또 어디

좋은 웹페이지 즐겨찾기