私のアプリケーションでは、ポップオーバーを表示しているため、ポップオーバーの背後にあるすべての色付きUIImageViewsが不飽和化します。私は画面上のUILabelsとカスタムUIViewサブクラスに対してもこの動作が必要です。これを実現するには、ポップオーバーが開いたときと閉じるときを観察する必要があるため、手動で色を更新することができます。iOS:ビューがポップオーバーの背後にあるときにどのように気付きますか?
私の最初のアプローチは、UIViewのtintColor
またはtintAdjustmentMode
のプロパティを観察することでした。このように:
override var tintAdjustmentMode: UIViewTintAdjustmentMode {
didSet {
// This does not get called
}
}
しかし、これらは、ポップオーバーが表示されている間、私は手動でチェックインするときself.tintAdjustmentMode
がtrue
に等しいにも関わらず、呼び出され得るように見えることはありません。
もう1つのアプローチは、Popover(この場合はCollectionViewController)を表示するViewControllerから手動でヘルパーメソッドを呼び出すことです。その問題は、別のViewController(たとえば、囲みナビゲーションコントローラ)がポップオーバーを提示したときに、これが機能しないことです。だからそれは本当に私が望むものではありません。
ビューの現在のビューコントローラに表示されているポップオーバーに反応することができる他の方法はありますか?