Xử lý sự kiện trong iOS (Bài 4)

Xử lý sự kiện trong iOS. Sau khi các bạn đã biết cách thiết kế giao diện cho các ứng dụng iOS, hôm nay chúng tôi sẽ hướng dẫn bạn đọc cách xử lý sự kiện trong iOS cho các view như Button, Slider, Picker View, Date Picker, …

Như các bạn đã biết, sự kiện là sự phản ứng của chương trình với sự tương tác của người dùng ví dụ sự kiện click được phát sinh khi người dùng chọn vào một nút và nhiệm vụ của chương trình là phải xử lý sự kiện đó. Chúng tôi lấy ví dụ chương trình máy tính điện tử khi người dùng chọn vào nút (+), chương trình sẽ thực hiện xử lý (tính tổng) và hiển thị kết quả.

Xử lý sự kiện trong ios

Xử lý sự kiện trong iOS – Các bước thực hiện

Bước 1: Chọn giao diện và hiển thị chế độ viết code (tập tin ViewController.swift)

xu ly su kien trong ios 1

Bước 2: Đăng ký sự kiện

1/ Chọn đối tượng muốn đăng ký và xử lý sự kiện

xu ly su kien trong ios 2

2/ Chọn Action, nhập tên và chọn Connect

xu ly su kien trong ios 3

Đoạn code được phát sinh

xu ly su kien trong ios 4

Xử lý sự kiện trong iOS – Ví dụ đăng ký và xử lý cho nút cộng (+)

1/ Tham chiếu các view (Lưu ý tại hộp thoại nhập Name -> Connect)

2/ Viết xử lý cho nút cộng

xu ly su kien trong ios 5

Xử lý sự kiện trong iOS – Một số xử lý thường gặp

Hiển thị hộp thoại xác nhận (Confirm Dialog) trong lập trình iOS

xu ly su kien trong ios 6

let acExit = UIAlertController(title: "Xác nhận", message: "Bạn có muốn thoát không?", preferredStyle: UIAlertControllerStyle.Alert)

// Xử lý trong trường hợp chọn Đồng ý
acExit.addAction(UIAlertAction(title: "Đồng ý", style: .Default, handler: { (action: UIAlertAction!) in
   // Viết xử lý tại đây
}))

// Xử lý trong trường hợp chọn Không
acExit.addAction(UIAlertAction(title: "Không", style: .Default, handler: { (action: UIAlertAction!) in
  acExit .dismissViewControllerAnimated(true, completion: nil)
}))

// Hiển thị hộp thoại
presentViewController(acExit, animated: true, completion: nil)

Hiển thị hộp thoại thông báo (Message Dialog) trong lập trình iOS

xu ly su kien trong ios 7

// Hộp thoại thông báo
let ac = UIAlertController(title: "Thông báo", message: "Vui lòng nhập vào một số",preferredStyle: UIAlertControllerStyle.Alert)
ac.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,handler: nil))
self.presentViewController(ac, animated: true, completion: nil)

Xử lý sự kiện trong iOS – Xử lý mẫu cho nút cộng của chương trình máy tính điện tử

// Hàm xử lý hiển thị hộp thoại thông báo
func showDialog() {
  // Hiển thị hộp thoại thông báo
  let ac = UIAlertController(title: "Thông báo", message: "Vui lòng nhập vào một số",preferredStyle: UIAlertControllerStyle.Alert)
  ac.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,handler: nil))
  self.presentViewController(ac, animated: true, completion: nil)
}

// Hàm kiểm tra hai số đã được nhập hay chưa
func checkInput() -> Bool {
  // Nếu số thứ nhất chưa nhập
  if txtFistNumber.text!.isEmpty {
   // Request focus
   self.txtFistNumber.becomeFirstResponder()
   showDialog();
   return false
 }

 // Nếu số thứ hai chưa nhập
 if txtSecondNumber.text!.isEmpty {
   // Request focus
   self.txtSecondNumber.becomeFirstResponder()
   showDialog()
   return false
  }
  return true
}

// Hàm tính tổng 2 số (Xử lý cho nút cộng)
@IBAction func btnAdd(sender: AnyObject) {
  if !checkInput() {
    return
  }

  // Lấy giá trị mà người dùng nhập trê màn hình
  let n1 : Float = Float(txtFistNumber.text!)!
  let n2 : Float = Float(txtSecondNumber.text!)!

  // Tính tổng và hiển thị kết quả
  lblDisplay.text = String.init(n1 + n2)
}

Kết quả khi chạy chương trình

xử lý sự kiện trong ios

Xử lý sự kiện trong iOS –  Bài tập thực hành

Bài thực hành số 1: Viết chương trình máy tính điện tử

Hai số phải được nhập trước khi thực hiện các nút +, -, * và /. Nếu người dùng chưa nhập, chương trình sẽ hiển thị thông báo và đặt con trỏ vào ô dữ liệu chưa được nhập. Nếu người dùng đã nhập hai số, chương trình thực hiện thực hiện các phép tính và hiển thị vào ô Kết quả.

Đối với phép chia, chương trình sẽ hiển thị thông báo và yêu cầu người dùng nhập lại nếu số thứ hai bằng 0.

Khi người dùng chọn nút Home, chương trình sẽ hiển thị thông báo xác nhận và nếu người dùng chọn Đồng ý thì màn hình First Application in iOS sẽ được hiển thị

Xử lý sự kiện trong ios

Màn hình First Application in iOS

Xử lý sự kiện trong ios

Bài thực hành số 2: Viết chương trình giải phương trình bậc hai

Các hệ số a, b và c phải được nhập trước khi chọn nút Giải phương trình. Chương trình sẽ hiển thị thông báo và đặt con trỏ vào ô dữ liệu nào chưa được nhập.

Khi người dùng chọn nút Home, chương trình sẽ hiển thị thông báo xác nhận và nếu người dùng chọn Đồng ý thì màn hình First Application in iOS sẽ được hiển thị

xử lý sự kiện trong ios