2017-11-26 23 views
-1

私はアプリを作っており、カスタムアラートを作成したいと考えています。Swift - 複数のアラートを同時に表示する

  1. ストーリーボードにビューコントローラを作成し、その識別子を設定します。
  2. 背景をクリアに設定します。
  3. ビューを作成し、すべてのボタンとラベルを設定します。
  4. は、このような他のコントローラからそれを呼び出します。

    let alertViewController = self.storyboard.instantiateViewControllerWithIdentifier("alertViewController") as! AlertViewController 
    
    self.presentViewController(alertViewController, animated: true, completion: nil) 
    

しかし、私がやりたいことは、このように同時に複数のアラートを提示、次のとおりです。

enter image description here

私が探しこれは、最初のアラートが応答されたときに2番目のアラートが表示される方法を見つけましたが、同時には表示されませんでした。 付属の画像に表示されているものはどのように達成できますか?

答えて

0

同時に表示されるアラート数の最大数はありますか。はいの場合、それは何ですか?

UIViewControllerを使用しないようにすることをお勧めしますが、UIViewを使用してください。現在のViewControllerでそれらをすべて表示することができます。

カスタムを作成する方法UIViewlink

希望します。

+0

申し訳ございません。上記のチュートリアルに従えば、上の添付画像に示すように、一度に複数のアラートビューを表示するにはどうすればよいですか? – kinza

+0

私はあなたがそれを理解できると思います。あなたのカスタムUIには決して同じ解決策はありません。私はさらに文脈がなければ答えられません。私もあなたに質問しましたが、回答しないことに決めました(これは丁寧ではなく、スタックオーバーフロースタイルではありません)。しかし、まもなく、2種類のサイズのアラートを2種類作成することができます。小さいものを表示し、大きなものを上に表示し、小さなものを隠す。しかし、私の答えは限られた状況では正しいとは言えません。ごめんなさい。 –

1

これはバックグラウンドのUIVisualEffectViewを持つモーダルViewControllerなので、背景がぼやけているようです。アラートメッセージの配列を作成し、各メッセージに対して、そのメッセージとともに1つのアラートビューをView Controllerに追加する必要があります。各メッセージビューには、幅の定数、高さの定数、superviewのcenterX、superviewのcenterYという制約が必要です。次に、各ビューの変換を設定して、スケールを縮小し、メッセージ配列のインデックスに基づいて移動します。何かyOffset =(messages.count - index)* spacingとscale = exp(0.95、(messages.count - index))のようなものです。先頭のメッセージには、その変換のインデント行列があります。メッセージを閉じると、トランスフォームの変更がアニメートされ、すべてが拡大縮小されてスライドします。

関連する問題