計算の後、ポップアップメッセージまたは警告ボックスを表示してメッセージをユーザーに伝えます。誰が私がこれに関するより多くの情報を見つけることができる場所を知っていますか?
うん、UIAlertView
はおそらくあなたが探しているものです。これが例です:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection"
message:@"You must be connected to the internet to use this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
もっと洒落たものにしたい場合、例えばUIAlertView
にカスタムUIを表示する場合、UIAlertView
をサブクラス化してinit
メソッドにカスタムUIコンポーネントを入れることができます。 UIAlertView
が表示された後にボタンを押したときに応答する場合は、上記のdelegate
を設定して- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
メソッドを実装します。
UIActionSheet
も調べてください。
この問題に遭遇する人が異なれば、ポップアップボックスによって異なることを意味します。 一時ビュー のドキュメントを読むことを強くお勧めします。私の答えは主にこれと他の関連ドキュメントの要約です。
アラート はタイトルとオプションのメッセージを表示します。ユーザーは先に進む前にそれを承認するか(1ボタン警告)または簡単な選択をする(2ボタン警告)必要があります。アラートを UIAlertController
で作成します。
不必要な警告を作成することに関するドキュメントの警告とアドバイスを引用する価値があります。
ノート:
UIAlertView
は非推奨になりました。アラートを今すぐ作成するにはUIAlertController
を使用してください。アクションシート はユーザーに選択肢のリストを提供します。デバイスのサイズと向きに応じて、画面の下部またはポップオーバーに表示されます。アラートと同様に、UIAlertController
はアクションシートを作成するために使用されます。 iOS 8より前のバージョンでは、UIActionSheet
が使用されていましたが、 のドキュメント には次のように記載されています。
重要:
UIActionSheet
はiOS 8で廃止されました。(UIActionSheetDelegate
も廃止予定です)iOS 8以降でアクションシートを作成および管理するには、代わりにUIAlertController
を使用してください。preferredStyle
/UIAlertControllerStyleActionSheet
。
モーダルビュー は、タスクを完了するために必要なものがすべて含まれている自己完結型のビューです。全画面表示になる場合としない場合があります。モーダルビューを作成するには、 UIPresentationController
を モーダル表示スタイル のいずれかと共に使用します。
また見なさい
A Popover is a view that appears when a user taps on something and disappears when tapping off it. It has an arrow showing the control or location from where the tap was made. The content can be just about anything you can put in a View Controller. You make a popover with a UIPopoverPresentationController
. (Before iOS 8, UIPopoverController
was the recommended method.)
これまでポップオーバーはiPadでしか利用できませんでしたが、iOS 8以降ではiPhoneでも利用できます( こちら 、 こちら 、ここで)。
また見なさい
通知 は、アプリがフォアグラウンドで実行されていなくても、ユーザーに何かを知らせる音/振動、警告/バナー、またはバッジです。
また見なさい
Androidでは、 Toast は短いメッセージで、画面に短時間表示された後、ユーザーによるアプリの操作を中断することなく自動的に消えます。
Androidの経歴を持つ人々は、ToastのiOS版が何であるかを知りたがっています。これらの質問のいくつかの例は、彼が ここ 、 ここ 、 ここ 、および を見つけることができるこちら その答えは、iOSのToastに相当するものはないということです。提示されているさまざまな回避策は次のとおりです。
UIView
であなた自身のものを作りなさいしかし、私のアドバイスは、すでにiOSに付属している標準のUIオプションを使用することです。アプリをAndroidのバージョンとまったく同じように見せて動作させるようにしないでください。それがiOSアプリのように見え、感じられるようにそれを再パッケージする方法について考えてください。
IOS 8のリリース以来、UIAlertView
は現在非推奨です。 UIAlertController が置き換えられます。
これがSwiftの外観の例です。
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertActionStyle.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
ご覧のとおり、APIを使用すると、アクションとアラートの提示時の両方にコールバックを実装できます。これは非常に便利です。
Swift 4.2用に更新されました
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertController.Style.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertAction.Style.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
iOS 8.0用に更新されました
IOS 8.0以降、次のようにUIAlertControllerを使用する必要があります。
-(void)alertMessage:(NSString*)message
{
UIAlertController* alert = [UIAlertController
alertControllerWithTitle:@"Alert"
message:message
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction
actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
}
私の例ではselfはUIViewControllerです。これはポップアップの "presentViewController"メソッドを実装しています。
ダビデ
Swift 3とSwift 4の場合:
UIAlertViewは廃止予定なので、Swift 3でアラートを表示するための良い方法があります
let alertController = UIAlertController(title: NSLocalizedString("No network connection",comment:""), message: NSLocalizedString("connected to the internet to use this app.",comment:""), preferredStyle: .alert)
let defaultAction = UIAlertAction(title: NSLocalizedString("Ok", comment: ""), style: .default, handler: { (pAlert) in
//Do whatever you wants here
})
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
非推奨:
これは、チェックされた応答に触発されたSwiftのバージョンです。
AlertViewを表示します。
let alert = UIAlertView(title: "No network connection",
message: "You must be connected to the internet to use this app.", delegate: nil, cancelButtonTitle: "Ok")
alert.delegate = self
alert.show()
View Controllerにデリゲートを追加します。
class AgendaViewController: UIViewController, UIAlertViewDelegate
ユーザーがボタンをクリックすると、このコードが実行されます。
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
}
私はすでに 概要 の異なる種類のポップアップを書きましたが、ほとんどの人はただAlertを必要としています。
class ViewController: UIViewController {
@IBAction func showAlertButtonTapped(_ sender: UIButton) {
// create the alert
let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertController.Style.alert)
// add an action (button)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))
// show the alert
self.present(alert, animated: true, completion: nil)
}
}
私のより完全な答えは ここ です。
これはXamarin.iOSのC#バージョンです。
var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();