FacebookとTwitterのサービスを実装しています。私の見解では、共有を切り替えるボタンがありますFacebook/Twitterかどうか。 Facebook/Twitterが接続されていない場合は、ボタンに「接続先」と表示されます。View Controllerを使用していないPresent View Controller - 短期/目的-C
ボタンをクリックすると、私のコントローラ(私のビューコントローラではない)のメソッドは、このコントローラが自分のアプリケーションの状態を追跡するため、値を切り替えるように試みます。私がソーシャルネットワークに接続していないとき、私のコントローラは通知し、正しいサービスを呼び出すでしょう。このサービスは、ユーザーの資格情報を提供するためにWebビューを開始します。
そして今、私の質問:
私は私のサービスでだと私はWebViewを介して、資格情報を提供する必要があります。私はこのwebviewを見せたいときは、プレゼンテーションを扱うを渡す必要があります。ここでビューコントロールを提供するにはどうすればよいですか?私が見つけた
アプローチ:
- は(私はこれが汚い見つけるが、私が間違っているなら、私を修正)appdelegateシングルトンを呼び出し、現在の提示 のViewControllerを取得します。私はUIWindow appdelegateの を注入し、 のViewController現在の提示を求めることができ appdelegate.didFinishLaunchingWithOptionsで私のコントローラに私のサービスを注入していますので
- は
- を作成します(最初のアプローチとほぼ同じです)ビューコントローラによって実装されるプロトコル。サービスは、そのプロトコルと等しいプロパティを持ち、私のアプリケーションデリゲートで ビューコントロールをサービスに挿入します。
- コントローラーのプロパティがpresentingviewcontrollerになる であり、コントローラーにアプローチ#3プロトコルを実装するようにしてください( )。そのプロトコル の機能が起動すると、コントローラはそれを処理して、webviewのpresentingviewcontrollerプロパティーを使用します( )。私はただ 私のコントローラにviewcontrollerをappdelegateに注入する必要があります。
- そのサービスに関連するビューは実装しないでください。
私の現在の実装はアプローチ#3です。
いくつかのことがわからない場合は、私にお知らせください。
ご協力いただきましてありがとうございます。 ありがとうございます!
質問に使用したすべてのクラスの名前とタイプを教えてもらえますか? –
クエリの型/クラスが何を意味するのかよく分かりません。もう少し詳しい情報を教えてください。 –