Practical-5: Code
Practical-5: Code
:202003103510322
Practical-5
Aim: Create an iOS application demonstrate use of Tab Bar Control in
your application. Application contains following functionality:
a. Two tabs called Map and Prime Number.
b. On click of Map tag Map Should be open.
c. On Click of Prime Number, view will be display to Check Inputted
Number is prime or not.
d. Map View should be created using programmatically.
Code:
import UIKit
class ViewControllerPrime: UIViewController {
@IBOutlet var tf1: UITextField!
@IBAction func btn1(_ sender: Any) {
let n = Int(tf1.text!)!;
if (n % 2 == 0) {
lbl1.text = "Number is not prime.";
} else {
lbl1.text = "Number is prime";
}
}
@IBOutlet var lbl1: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
}
Output:
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
13
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
14
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
Practical-6
Aim: Create an iOS application interface that look like registration view
as given below. When user click on register display the data on second
view.
Code:
ViewController:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBOutlet var fname: UITextField!
@IBOutlet var lname: UITextField!
@IBOutlet var uname: UITextField!
@IBOutlet var pswd: UITextField!
@IBOutlet var cpswd: UITextField!
@IBOutlet var birth: UIDatePicker!
@IBOutlet var error: UILabel! @IBAction func btn(_ sender:
Any) { if pswd.text == cpswd.text {
self.performSegue(withIdentifier: "connect", sender: "self");
}
else {
error.text = "Please enter correct password.";
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "connect" {
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
15
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
bd.text = bdate
}
}
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
16
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
Output:
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
17
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
Practical-7
Aim: Create an iOS application called “HomePower”, which has given
below design.
Implement following functionalities in “HomePower” application:
a. Layout should be auto layout.
b. When user taps on Add Button (+), generate random name, serial
number and dollar value. Bind generated values to tableView.
c. On tap of Edit button, table view goes into “Editing” mode. On tap of
delete button, alert should be open “are you sure you want delete
item”. If user presses delete button then that item should be deleted
from tableview and datasource.
d. On tap of any record, display second view and selected record data
should be display in textFields.
Code:
import UIKit
class ItemStore {
var allItems = [Item]()
}
}
@discardableResult func createItem() -> Item {
let newItem = Item(random: true)
allItems.append(newItem)
return newItem
}
func removeItem(_ item: Item) {
if let index = allItems.index(of: item) {
allItems.remove(at: index)
}
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
18
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
}
func moveItem(from fromIndex: Int, to toIndex: Int)
{ if fromIndex == toIndex { return
}
let movedItem = allItems[fromIndex]
allItems.remove(at: fromIndex) allItems.insert(movedItem,
at: toIndex)
}
}
import UIKit class
ItemCell:UITableViewCell{
@IBOutlet var nameLabel: UILabel!
@IBOutlet var serialNumberLabel: UILabel!
@IBOutlet var valueLabel: UILabel!
}
import UIKit class Item:
NSObject { var name:
String var valueInDollars:
Int var serialNumber:
String? let dateCreated:
Date
init(name: String, serialNumber: String?, valueInDollars: Int) {
self.name = name self.valueInDollars = valueInDollars
self.serialNumber = serialNumber self.dateCreated =
Date() super.init()
}
convenience init(random: Bool = false) {
if random {
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
19
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
let adjectives = ["Shiny Bear", "Rusty Bear", "Fluffy Bear", "Rusty Spork", "Fluffy
Spork"]
let nouns = ["1", "2", "3", "4", "5"]
var idx =
arc4random_uniform(UInt32(adjectives.count))
let randomAdjective = adjectives[Int(idx)]
idx = arc4random_uniform(UInt32(nouns.count))
let randomNoun = nouns[Int(idx)]
let randomName = "\(randomAdjective)
\(randomNoun)"
let randomValue = Int(arc4random_uniform(100))
let randomSerialNumber =
UUID().uuidString.components(separatedBy: "-").first!
self.init(name: randomName,
serialNumber: randomSerialNumber,
valueInDollars: randomValue)
} else {
self.init(name: "", serialNumber: nil, valueInDollars: 0)
}
}
}
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
20
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
Output:
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
21
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
22
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
Practical-8
Aim: Create iOS application to demonstrate use of following gestures:
a. Tap (double tap on screen)
b. Long Press (long press to 3 second)
c. Pinch
d. Swipe (Right Swipe)
e. Rotation
Code:
import UIKit
class ViewController: UIViewController {
@IBOutlet var l1: UILabel!
@IBAction func tap(_ sender: UITapGestureRecognizer) {
l1.text = "Tapped"
}
@IBAction func Swiped(_ sender: UISwipeGestureRecognizer) {
l1.text = "Swiped"
}
@IBAction func long(_ sender: UILongPressGestureRecognizer) {
l1.text = "Long Pressed"
}
@IBAction func Pinch(_ sender: UIPinchGestureRecognizer) {
l1.text = "Pinched"
}
@IBAction func rotate(_ sender: UIRotationGestureRecognizer) {
l1.text = "Rotated"
}
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
23
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
Output:
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
24
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
25
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
26
DEVELOPMENT (IOS)
Enrollment no.:202003103510322
UTU/CGPIT/IT/SEM-6/MOBILE APPLICATION
27
DEVELOPMENT (IOS)