If you are familiar with Android then you can consider TableView in iOS as ListView in Android.
To add Table View in iOS the steps are
1. Create a new Project
2. Add Table View in Main.storyboard
2.1 : Click on Table View and set Prototype Cells 1 in the
property window of table
2.2 : Specify this cell with a name as an identifier ( i named as
mycell)
3. Then click on Table with control and add dataSource and
delegate
4. Create a reference of TableView in ViewController.swift
5. Add UITableViewDelegate with you controller file as
class ViewController: UIViewController , UITableViewDelegate
6.Add below mentioned function to add number of rows in your table
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return intValue; //intValue means a valid integer
}
7. Add below mentioned function to customise cell with data source as
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
return cell; //cell should be created by you
}
8. You should have a valid data source from where you can get the data
See my example i am going to display a Table of you inserted Number.
Output will be like
code is as
// ViewController.swift
// Table of Number
//
// Copyright © 2016 Ravi. All rights reserved.
//
import UIKit
class ViewController: UIViewController , UITableViewDelegate {
var getData : Int = 0 // Simple Variable
@IBOutlet var editText: UITextField!
// TextField for number insertion
@IBOutlet var tableView: UITableView!
// Reference of Table
@IBAction func clickMe(sender: AnyObject)
// Action on Button click
{
getData = Int(editText.text!)!
// Read Data from TextField
tableView.reloadData() // Each Button Click Reload
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view,
typically from a nib.
}
func tableView(tableView: UITableView,
numberOfRowsInSection section: Int) -> Int
{
return 10 // 10 rows created
}
func tableView(tableView: UITableView,
cellForRowAtIndexPath indexPath: NSIndexPath) ->
UITableViewCell
{
// Create Cell
let cell = UITableViewCell(style:
UITableViewCellStyle.Default,
reuseIdentifier: "mycell")
// Update Cell
cell.textLabel?.text = String (getData *
(indexPath.row+1))
return cell // Return Cell
}
}
No comments:
Post a Comment