Computer >> Máy Tính >  >> Lập trình >> IOS

Làm cách nào để kiểm soát chiều rộng và chiều cao của Hộp thoại cảnh báo mặc định trong iOS?

Sẽ có trường hợp bạn có thể nhận được yêu cầu kiểm soát / thao tác chiều rộng và chiều cao của Cảnh báo trong khi phát triển ứng dụng iOS. Nếu bạn không quen với những thứ tương tự, nó có thể gây rắc rối cho bạn.

Ở đây chúng ta sẽ thấy cách kiểm soát chiều rộng và chiều cao của hộp cảnh báo mặc định, Để kiểm soát chiều cao và chiều rộng, chúng tôi sẽ sử dụng NSLayoutConstraint.

Để đọc thêm về UIAlertController, hãy tham khảo -

https://developer.apple.com/documentation/uikit/uialertcontroller

Trong phần này, chúng tôi sẽ tạo một dự án mới, nơi chúng tôi sẽ có một nút, khi nhấn vào nút đó, chúng tôi sẽ hiển thị cảnh báo với thông báo tùy chỉnh.

Bước 1 - Mở Xcode → Dự án mới → Ứng dụng một lần xem → Đặt tên cho nó là “chiều rộng thay đổi”

Bước 2 - Trong Main.storyboard, tạo một nút và đặt tên cho nút đó, tạo @IBAction trong ViewController.swift và đặt tên ổ cắm là btnAtap.

Bước 3 - Viết mã sau trong phương thức nút của bạn.

Tạo đối tượng của UIAlertController.

let alert = UIAlertController(title: "Your Title", message: "Your Message", preferredStyle: UIAlertController.Style.alert)

Tạo các ràng buộc về chiều cao và chiều rộng.

// height constraint
let constraintHeight = NSLayoutConstraint(
   item: alert.view!, attribute: NSLayoutConstraint.Attribute.height, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute:
   NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: 100)
alert.view.addConstraint(constraintHeight)

// width constraint
let constraintWidth = NSLayoutConstraint(
   item: alert.view!, attribute: NSLayoutConstraint.Attribute.width, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute:
   NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: 300)
alert.view.addConstraint(constraintWidth)

Trình bày chế độ xem cảnh báo với các hành động.

let cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alert.addAction(cancel)
let OKAY = UIAlertAction(title: "Done", style: .default, handler: nil)
alert.addAction(OKAY)
self.present(alert, animated: true, completion: nil)


Bước 4 - Chạy mã.

Để có mã hoàn chỉnh,

@IBAction func btnATap(_ sender: Any) {
   let alert = UIAlertController(title: "Your Title", message: "Your Message", preferredStyle: UIAlertController.Style.alert)

   // height constraint
   let constraintHeight = NSLayoutConstraint(
      item: alert.view!, attribute: NSLayoutConstraint.Attribute.height, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute:
      NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: 100)
   alert.view.addConstraint(constraintHeight)

   // width constraint
   let constraintWidth = NSLayoutConstraint(
      item: alert.view!, attribute: NSLayoutConstraint.Attribute.width, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute:
      NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: 300)
   alert.view.addConstraint(constraintWidth)

   let cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
   alert.addAction(cancel)
   let OKAY = UIAlertAction(title: "Done", style: .default, handler: nil)
   alert.addAction(OKAY)
   self.present(alert, animated: true, completion: nil)
}

Làm cách nào để kiểm soát chiều rộng và chiều cao của Hộp thoại cảnh báo mặc định trong iOS?