Swift TableView 다양->No.1
12734 단어 UITableViewSwiftiOS
개시하다
저는 스위프트의 초보자입니다.
나는 UITTableView에 관한 많은 것을 쓸 것이다.<-비망록입니다.
이번에는 1위의 기본 부분이다.
다음 두 가지를 쓰시오.
/섹션 디스플레이
• 머리글 및 바닥글 표시
Storyboard에서 TableView 구성
먼저 TableView를 구성한 다음 TableViewCell을 구성합니다.
다음은 TableViewCell의 Identifier를 설정합니다.여기서는 "Cell"이라고 부릅니다.
Source Code
1.Model.swift
UItable ViewDataSource, UItable ViewDelegate의 실현
Model.swiftimport Foundation
import UIKit
class Model: NSObject, UITableViewDataSource, UITableViewDelegate {
let mView = View()
// セクション名
var foods = ["Vegetables", "Fruits"]
// セルに表示するテキスト
var vegetables = ["Pumpkin", "Cabbage", "Potato", "Ginger", "Onion", "Carrot", "Garlic"]
var fruits = ["Apple", "Strawberry", "Cherry", "Banana", "Grape", "Peach", "Melon"]
//MARK:UITableViewDataSource
/**
テーブルビューのセクション数を返すメソッド
*/
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return foods.count;
}
/**
セクション毎のタイトルをヘッダーに表示
*/
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return foods[section]
}
/**
セクション毎のセル数を指定するメソッド
*/
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return vegetables.count
case 1:
return fruits.count
default:
return 0
}
}
/**
セルの内容を変更するメソッド
*/
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Storyboardで設定したIdentifierでUITableViewCellのインスタンスを生成
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
// StoryboardでCellを作成しない場合
// let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")
// セルにテキストを設定
switch indexPath.section {
case 0:
cell.textLabel?.text = vegetables[indexPath.row]
case 1:
cell.textLabel?.text = fruits[indexPath.row]
default:
break
}
return cell
}
//MARK:UITableViewDelegate
/**
Footerを設定するメソッド
*/
func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return mView.createFooterLabel()
}
}
2.View.swift
바닥글에 표시된 View
View.swiftimport Foundation
import UIKit
class View : UIView {
func createFooterLabel() -> UILabel {
let footerLabelSize = CGRectMake(0, 0, 200, 20)
let footerLabelText = "FooterFooter"
let footerLabel = UILabel(frame: footerLabelSize)
footerLabel.text = footerLabelText
footerLabel.textAlignment = .Center
footerLabel.backgroundColor = UIColor.cyanColor()
return footerLabel
}
}
3.ViewController.swift
컨트롤러
ViewController.swiftimport UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
let mModel = Model()
//MARK:UIViewController
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = mModel
tableView.delegate = mModel
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
실행 결과
최후
금번
TableView의 기본 구현
/섹션 디스플레이
• 머리글 및 바닥글 표시
에 대한 정보입니다.
다음번
· 칸 오른쪽에 체크 표시와 같은 표시를 표시합니다
・클릭 시 이벤트 처리 설치
기재하고 싶습니다.
Reference
이 문제에 관하여(Swift TableView 다양->No.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y-okudera/items/ea555c812bb4a25331ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 TableView를 구성한 다음 TableViewCell을 구성합니다.
다음은 TableViewCell의 Identifier를 설정합니다.여기서는 "Cell"이라고 부릅니다.
Source Code
1.Model.swift
UItable ViewDataSource, UItable ViewDelegate의 실현
Model.swiftimport Foundation
import UIKit
class Model: NSObject, UITableViewDataSource, UITableViewDelegate {
let mView = View()
// セクション名
var foods = ["Vegetables", "Fruits"]
// セルに表示するテキスト
var vegetables = ["Pumpkin", "Cabbage", "Potato", "Ginger", "Onion", "Carrot", "Garlic"]
var fruits = ["Apple", "Strawberry", "Cherry", "Banana", "Grape", "Peach", "Melon"]
//MARK:UITableViewDataSource
/**
テーブルビューのセクション数を返すメソッド
*/
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return foods.count;
}
/**
セクション毎のタイトルをヘッダーに表示
*/
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return foods[section]
}
/**
セクション毎のセル数を指定するメソッド
*/
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return vegetables.count
case 1:
return fruits.count
default:
return 0
}
}
/**
セルの内容を変更するメソッド
*/
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Storyboardで設定したIdentifierでUITableViewCellのインスタンスを生成
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
// StoryboardでCellを作成しない場合
// let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")
// セルにテキストを設定
switch indexPath.section {
case 0:
cell.textLabel?.text = vegetables[indexPath.row]
case 1:
cell.textLabel?.text = fruits[indexPath.row]
default:
break
}
return cell
}
//MARK:UITableViewDelegate
/**
Footerを設定するメソッド
*/
func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return mView.createFooterLabel()
}
}
2.View.swift
바닥글에 표시된 View
View.swiftimport Foundation
import UIKit
class View : UIView {
func createFooterLabel() -> UILabel {
let footerLabelSize = CGRectMake(0, 0, 200, 20)
let footerLabelText = "FooterFooter"
let footerLabel = UILabel(frame: footerLabelSize)
footerLabel.text = footerLabelText
footerLabel.textAlignment = .Center
footerLabel.backgroundColor = UIColor.cyanColor()
return footerLabel
}
}
3.ViewController.swift
컨트롤러
ViewController.swiftimport UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
let mModel = Model()
//MARK:UIViewController
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = mModel
tableView.delegate = mModel
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
실행 결과
최후
금번
TableView의 기본 구현
/섹션 디스플레이
• 머리글 및 바닥글 표시
에 대한 정보입니다.
다음번
· 칸 오른쪽에 체크 표시와 같은 표시를 표시합니다
・클릭 시 이벤트 처리 설치
기재하고 싶습니다.
Reference
이 문제에 관하여(Swift TableView 다양->No.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y-okudera/items/ea555c812bb4a25331ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import Foundation
import UIKit
class Model: NSObject, UITableViewDataSource, UITableViewDelegate {
let mView = View()
// セクション名
var foods = ["Vegetables", "Fruits"]
// セルに表示するテキスト
var vegetables = ["Pumpkin", "Cabbage", "Potato", "Ginger", "Onion", "Carrot", "Garlic"]
var fruits = ["Apple", "Strawberry", "Cherry", "Banana", "Grape", "Peach", "Melon"]
//MARK:UITableViewDataSource
/**
テーブルビューのセクション数を返すメソッド
*/
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return foods.count;
}
/**
セクション毎のタイトルをヘッダーに表示
*/
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return foods[section]
}
/**
セクション毎のセル数を指定するメソッド
*/
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return vegetables.count
case 1:
return fruits.count
default:
return 0
}
}
/**
セルの内容を変更するメソッド
*/
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Storyboardで設定したIdentifierでUITableViewCellのインスタンスを生成
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
// StoryboardでCellを作成しない場合
// let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")
// セルにテキストを設定
switch indexPath.section {
case 0:
cell.textLabel?.text = vegetables[indexPath.row]
case 1:
cell.textLabel?.text = fruits[indexPath.row]
default:
break
}
return cell
}
//MARK:UITableViewDelegate
/**
Footerを設定するメソッド
*/
func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return mView.createFooterLabel()
}
}
import Foundation
import UIKit
class View : UIView {
func createFooterLabel() -> UILabel {
let footerLabelSize = CGRectMake(0, 0, 200, 20)
let footerLabelText = "FooterFooter"
let footerLabel = UILabel(frame: footerLabelSize)
footerLabel.text = footerLabelText
footerLabel.textAlignment = .Center
footerLabel.backgroundColor = UIColor.cyanColor()
return footerLabel
}
}
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
let mModel = Model()
//MARK:UIViewController
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = mModel
tableView.delegate = mModel
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
최후
금번
TableView의 기본 구현
/섹션 디스플레이
• 머리글 및 바닥글 표시
에 대한 정보입니다.
다음번
· 칸 오른쪽에 체크 표시와 같은 표시를 표시합니다
・클릭 시 이벤트 처리 설치
기재하고 싶습니다.
Reference
이 문제에 관하여(Swift TableView 다양->No.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y-okudera/items/ea555c812bb4a25331ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Swift TableView 다양->No.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y-okudera/items/ea555c812bb4a25331ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)