6

ストーリーボードでは、ボタンから a へのセグエをセットアップして、UIViewControllerモーダルに表示できます。これはうまくいきます。ただし、ストーリーボードのクラスを から に変更するUIViewControllerMFMailComposeViewController、まったく機能しません。表示されるのは上部のナビゲーション バーだけで、残りのディスプレイは黒で塗りつぶされています。私は間違ったアプローチを取っていますか?

4

2 に答える 2

2

私も同様の問題を抱えていましたがABPeoplePickerNavigationController、問題が何であるかを理解できなかったようです。次のいずれかを実行できます

  1. a にフォールバックし、自分でインスタンスIBActionを作成して表示します。MFMailComposeViewController

  2. ストーリーボードを引き続き使用したい場合は、これが望ましいと思います。内部で をインスタンス化しMFMailComposeViewController、プロキシ オブジェクトとして機能するラッパー クラスを作成して、ラップされたクラスにviewDid***andメソッドを伝播viewWill***し、ラップされた VC のビューを返すこともできます。読み取り専用のviewプロパティ...あなたはアイデアを得る。

于 2012-01-21T19:38:57.523 に答える
2

Besiによる回答に加えて:

  1.  
  2.  
  3. サブクラスMFMailComposeViewControllerとオーバーライドinitWithCoder:メソッド。

例:

-(id)initWithCoder:(NSCoder *)aDecoder
{
    return [super init];
}

その後、ストーリーボードで動作しますが、ストーリーボードシーンのアウトレット/タグ/その他の定義は適用されないと思います(prepareForSegue:sender:メソッド内でメールコンポーザーを構成する必要があります)。

于 2012-09-18T19:15:28.117 に答える