Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Xử lý sự kiện trong iOS

Xử lý sự kiện trong iOS

Xử lý sự kiện trong iOS
Kiến thức hữu ích

Xử lý sự kiện trong iOS

Xử lý sự kiện trong iOS. Sau khi các bạn đã biết đến 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 các 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 đối với sự tương tác của người dùng ví dụ một sự kiện click được phát sinh khi người dùng chọn nhấp 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ụ về 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 là gì?

Trong iOS, xử lý sự kiện là quá trình xử lý các hành động hoặc tương tác từ người dùng. Sự kiện có thể là một cú chạm vào màn hình, nhấn nút, kéo thả hoặc bất kỳ hành động nào khác từ người dùng. 

Để xử lý sự kiện trong iOS, bạn cần sử dụng các phương thức và giao diện được cung cấp bởi UIKit framework của Apple. 

Có một số bước để xử lý sự kiện: 

1. Xác định loại sự kiện: Bạn phải biết loại sự kiện bạn muốn xử lý, ví dụ như chạm vào màn hình (touch event), nhấn nút (button press event) hay xoay thiết bị (device rotation event). 

2. Gán delegate: Trong trường hợp bạn muốn theo dõi và xử lý các sự kiện của một đối tượng như UIView hay UIViewController, bạn có thể gán delegate cho đối tượng này. 

3. Implement phương thức delegate: Bạn cần triển khai các phương thức delegate liên quan để xử lý các sự kiện đã được gán ở bước trước. Ví dụ: `touchesBegan(_:with:)` để xử lý khi có chạm vào màn hình. 

4. Xác định ưu tiên sự kiện: Trong trường hợp có nhiều đối tượng xử lý sự kiện, bạn cần xác định ưu tiên của chúng để quyết định đối tượng nào được xử lý trước. 

5. Xử lý sự kiện: Trong phương thức delegate, bạn có thể viết mã để xử lý các hành động từ người dùng. Ví dụ: hiển thị thông báo, chuyển màn hình hoặc thay đổi trạng thái của ứng dụng.

Các bước thực hiện của xử lý sự kiện trong iOS

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

Xử lý sự kiện trong iOS

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

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

Xử lý sự kiện trong iOS

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

Xử lý sự kiện trong iOS

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

Xử lý sự kiện trong iOS

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

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

Xử lý sự kiện trong iOS

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

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

Xử lý sự kiện trong iOS
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

Xử lý sự kiện trong iOS
// 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ý mẫu cho nút cộng của chương trình máy tính điện tử của xử lý sự kiện trong iOS

// 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

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

Một số bài tập thực hành

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

Hai con 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 số, 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 con 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 con số thứ hai bằng 0.

Khi người dùng nhấn chọn nút Home, thì 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 nút Đồng ý thì màn hình First Application in iOS sẽ được hiển thị

Đồng ý thì màn hình First Application in iOS sẽ được hiển thị

Màn hình First Application in iOS

Đồng ý thì màn hình First Application in iOS sẽ được hiển thị

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

Các hệ số là 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 số.

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 nút Đồng ý thì màn hình First Application in iOS sẽ được hiển thị

First Application in iOS sẽ được hiển thị

Tổng kết

Như vậy, qua bài viết về bài viết trên đây, R2S chúng tôi đã giúp bạn hiểu được về lớp, đối tượng, thuộc tính, kế thừa, định nghĩa lại phương thức, phương thức khởi tạo

Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để học thêm nhiều kiến thức hữu ích về lập trình iOS nhé.

Hãy đến website của R2S để có thể tìm hiểu sâu hơn vào lập trình và công nghệ thông tin để có thêm nhiều kiến thức về nó hơn nha. 

Bài viết gốc được đăng tải tại giasutinhoc.vn

Alert: You are not allowed to copy content or view source !!