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) }
-
OSXおよびiOSでデフォルトのカレンダーを設定する方法
MacまたはiOSデバイスのカレンダーアプリで新しいイベントを作成するたびに、そのイベントは、デバイスでデフォルトとして設定されているカレンダーに追加されます。複数のカレンダーがあり、それらをさまざまな目的で使用している場合、デフォルトのカレンダーが、これらのイベントを実際に表示したいカレンダーであるとは限りません。 幸い、OSXとiOSでデフォルトのカレンダーを設定する簡単な方法があります。イベントエントリのデフォルトのカレンダーを選択でき、今後のすべてのイベントがそこに追加されます。 OSXでのデフォルトのカレンダーの設定 OS Xでは、組み込みのカレンダーアプリを使用してデフォルトの
-
iPhoneでiOS11コントロールセンターをカスタマイズする方法
iPhoneおよびiPad向けのAppleの最新リリースであるiOS11は、再設計およびモジュール化されたコントロールセンターを備えています。この新しいコントロールセンターは、かなりの3D-Touchジェスチャ、新しいアニメーション、およびカスタマイズ性を備えています。さらに、以前はiOSでダウンロードまたは使用するためのアプリバージョンでは利用できなかった新しいコントロールが組み込まれています。この記事では、iPhoneでのニーズに合わせてiOS 11コントロールセンターをカスタマイズする方法と、それらの新しいコントロールの概要について詳しく説明します。 iOS 11は現在パブリックベータ