2017-05-03 3 views
0

タイトルのように、私は最初のビューコントローラ(VC1)にもう1つ(VC2)を提示します。 VC2私はself.view.layer.maskにパンジェスチャーでサイズを変更するサイズ変更可能なマスクを適用しますが、マスクのサイズ変更時にVC1の後ろにVC2が表示されない場合、アプリケーションのUIWindow.backgroundColorという黒い色しか表示されません。 self.view.clipToBoundsself.view.layer.masksToBoundsの両方が、VC2のself.viewtrueに設定されています。何故ですか?バグのおかげでまた、CAShapeLayerで表示されたビューコントローラをマスキングすると、プレゼンテーションビューコントローラがマスクされます

ビデオ:https://youtu.be/9Kda10Sl2g8

iは、@ nguyenbao95彼のコメントで提案されているように、その周りに行くために管理:(このビューはスナップショットの上にある)、その後、すべてのコンテンツを追加しVC2のself.viewに別のUIViewを追加しますこのビューに。そしてこの見方を隠す。

もし私がmodalyにVC2を提示すると、VC1はVC2の後ろにもう見えなくなるまで見えなくなると思う。

答えて

1

2番目のVCを表示する前に、最初のVCのスクリーンショットを撮るだけです。そして、このイメージを持つUIImageViewを2番目のVCに追加します。

あなたの問題を解決することを願っています。

+0

これについてはどうすればいいですか? 'CAShapeLayer'マスクはその背後にある全てのビュー階層をマスクするか、それともそれが適用されたビューだけをマスクするでしょうか? – user1974368

+0

私はそれを試しただけで、スナップショットもマスクし、VC2の 'self.view'の後ろに' snapshotView'を送りましたが、残りのVC2も隠しています – user1974368

+0

私はまだあなたの答えを理解していません。私に写真をくれませんか? – nguyenbao95

関連する問題