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 – 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)
Bước 2: Đăng ký sự kiện
1/ Chọn đối tượng muốn đăng ký và xử lý sự kiện
2/ Chọn Action, nhập tên và chọn Connect
Đ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 (+)
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
Hiển thị hộp thoại xác nhận (Confirm Dialog) trong lập trình 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
// 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 – 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ị
Màn hình First Application in 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ị