Computer >> 컴퓨터 >  >> 프로그램 작성 >> IOS

iOS에서 기본 경고 대화 상자의 너비와 높이를 제어하는 ​​방법은 무엇입니까?

<시간/>

iOS 애플리케이션을 개발하는 동안 Alert 너비와 높이를 제어/조작해야 하는 경우가 있습니다. 익숙하지 않다면 문제가 될 수 있습니다.

여기서는 기본 경고 상자의 너비와 높이를 제어하는 ​​방법을 볼 것입니다. 높이와 너비를 제어하기 위해 NSLayoutConstraint를 사용할 것입니다.

UIAlertController에 대한 자세한 내용은 -

를 참조하세요.

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

여기에서 버튼이 있는 새 프로젝트를 만들 것이며 해당 버튼을 탭하면 맞춤 메시지와 함께 경고가 표시됩니다.

1단계 − Xcode 열기 → 새 프로젝트 → 단일 보기 응용 프로그램 → 이름을 "changeheightandwidth"로 지정합니다.

2단계 − Main.storyboard에서 하나의 버튼을 만들고 이름을 탭으로 지정하고 ViewController.swift에 @IBAction을 만들고 콘센트 이름을 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)
}

iOS에서 기본 경고 대화 상자의 너비와 높이를 제어하는 ​​방법은 무엇입니까?