Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

จะควบคุมความกว้างและความสูงของ Alert Dialog เริ่มต้นใน iOS ได้อย่างไร


จะมีบางกรณีที่คุณอาจได้รับข้อกำหนดในการควบคุม / จัดการความกว้างและความสูงของ Alert ขณะพัฒนาแอปพลิเคชัน iOS หากคุณไม่คุ้นเคยกับสิ่งเดียวกัน อาจสร้างปัญหาให้คุณ

ที่นี่เราจะมาดูวิธีการควบคุมความกว้างและความสูงของกล่องแจ้งเตือนเริ่มต้น สำหรับการควบคุมความสูงและความกว้าง เราจะใช้ NSLayoutConstraint

หากต้องการอ่านเพิ่มเติมเกี่ยวกับการอ้างอิง UIAlertController -

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

ในการนี้ เราจะสร้างโครงการใหม่โดยจะมีปุ่ม เมื่อแตะที่ปุ่มนั้น เราจะแสดงการแจ้งเตือนพร้อมข้อความที่กำหนดเอง

ขั้นตอนที่ 1 − เปิด Xcode → โครงการใหม่ → แอปพลิเคชั่นมุมมองเดียว → ตั้งชื่อมันว่า "การเปลี่ยนแปลงความสูงและความกว้าง"

ขั้นตอนที่ 2 − ใน Main.storyboard ให้สร้างปุ่มหนึ่งปุ่มแล้วตั้งชื่อให้แตะ สร้าง @IBAction ใน ViewController.swift และตั้งชื่อร้าน btnAtap

ขั้นตอนที่ 3 − เขียนโค้ดต่อไปนี้ในวิธีปุ่มของคุณ

สร้างวัตถุของ UIAlertController

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)


ขั้นตอนที่ 4 − เรียกใช้รหัส

สำหรับรหัสที่สมบูรณ์

@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)
}

จะควบคุมความกว้างและความสูงของ Alert Dialog เริ่มต้นใน iOS ได้อย่างไร