IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iOSでデフォルトのアラートダイアログの幅と高さを制御するにはどうすればよいですか?


iOSアプリケーションの開発中に、アラートの幅と高さを制御/操作する必要がある場合があります。同じことに慣れていない場合は、問題が発生する可能性があります。

ここでは、デフォルトのアラートボックスの幅と高さを制御する方法を説明します。高さと幅を制御するには、NSLayoutConstraintを使用します。

UIAlertControllerの詳細については、-

を参照してください。

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

ここでは、ボタンがある新しいプロジェクトを作成します。そのボタンをタップすると、カスタムメッセージでアラートが表示されます。

ステップ1 −Xcodeを開く→新しいプロジェクト→シングルビューアプリケーション→「changeheightandwidth」という名前を付けましょう

ステップ2 − Main.storyboardでボタンを1つ作成し、それをタップと名付け、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でデフォルトのアラートダイアログの幅と高さを制御するにはどうすればよいですか?


  1. OSXおよびiOSでデフォルトのカレンダーを設定する方法

    MacまたはiOSデバイスのカレンダーアプリで新しいイベントを作成するたびに、そのイベントは、デバイスでデフォルトとして設定されているカレンダーに追加されます。複数のカレンダーがあり、それらをさまざまな目的で使用している場合、デフォルトのカレンダーが、これらのイベントを実際に表示したいカレンダーであるとは限りません。 幸い、OSXとiOSでデフォルトのカレンダーを設定する簡単な方法があります。イベントエントリのデフォルトのカレンダーを選択でき、今後のすべてのイベントがそこに追加されます。 OSXでのデフォルトのカレンダーの設定 OS Xでは、組み込みのカレンダーアプリを使用してデフォルトの

  2. iPhoneでiOS11コントロールセンターをカスタマイズする方法

    iPhoneおよびiPad向けのAppleの最新リリースであるiOS11は、再設計およびモジュール化されたコントロールセンターを備えています。この新しいコントロールセンターは、かなりの3D-Touchジェスチャ、新しいアニメーション、およびカスタマイズ性を備えています。さらに、以前はiOSでダウンロードまたは使用するためのアプリバージョンでは利用できなかった新しいコントロールが組み込まれています。この記事では、iPhoneでのニーズに合わせてiOS 11コントロールセンターをカスタマイズする方法と、それらの新しいコントロールの概要について詳しく説明します。 iOS 11は現在パブリックベータ