3

モーダル遷移タイプのストーリーボードに IB でレイアウトされた UIView があります。セグエの後に基礎となる UIView の一部を表示する透明なセクションがあります。アニメーション中はそれらの領域が透明であることがわかりますが、動きが完了すると、それらは黒くなります.

次の場所で試してみ[self.view setOpaque:NO]まし[self.view setBackgroundColor:[UIColor clearColor]]たが、うまくいかないようです。

最初のビューで

  • セグエの準備

カスタム セグエ クラスで

  • 実行

モーダルビューで

  • initWithNibName
  • viewDidLoad
  • viewWillAppear

誰でも助けることができますか?

4

3 に答える 3

1

私の推測では、アニメーションが黒い背景を残した後、覆われているビューは消えます。viewWillDisappearまたはviewDidDisappearの基になるビューにブレークポイントを設定し、それが当てはまるかどうかを確認します。

于 2012-02-10T20:17:06.447 に答える
0

アンロードしているか、少なくとも下のビューを再描画していないと思います。

おそらく、新しいビュー コントローラーをモーダルに提示するのではなく、下からビューをスライドさせるだけでよいでしょうか?

別の解決策は、下のビューの画像を準備し、それを背景として設定することです。

于 2012-02-10T20:25:57.803 に答える
0

私も同じ状況です。presentModalViewController:animated:ソース ビュー コントローラーにメッセージを送信した後に見つかった場合、ソース ビューは非表示に設定されます。それが黒の背景になった理由だと思います。

于 2012-09-26T09:21:51.237 に答える