UIPopoverBackgroundView
クラスを使用してカスタムを表示していますUIPopover
。
これがそのことです。iOS 5では、ポップオーバーの背後に影を落とすことなく、ポップオーバーが表示されます。ただし、iOS 6では、ポップオーバーは非常に奇妙な影を落としますが、これはポップオーバーに完全には適合しません。
とにかく、両方のバージョンで一貫した外観に到達するようにこの動作を制御できますか?
UIPopoverBackgroundView
クラスを使用してカスタムを表示していますUIPopover
。
これがそのことです。iOS 5では、ポップオーバーの背後に影を落とすことなく、ポップオーバーが表示されます。ただし、iOS 6では、ポップオーバーは非常に奇妙な影を落としますが、これはポップオーバーに完全には適合しません。
とにかく、両方のバージョンで一貫した外観に到達するようにこの動作を制御できますか?
iOS 6でシャドウを削除し、ポップオーバーにカスタムシャドウを追加するには:
1)オーバーライドしてシャドウを削除しますlayoutSubviews
- (void)layoutSubviews {
// remove shadow (iOS 6)
}
2)BGビューにシャドウプロパティを追加します
_borderView.layer.shadowColor = [UIColor blackColor].CGColor;
_borderView.layer.shadowOpacity = 1.f;
_borderView.layer.shadowRadius = 15;
_borderView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
_borderView.layer.shouldRasterize = YES;
UIPopoverBackgroundViewレイヤーでシャドウオフセットを手動で設定できます。
self.layer.shadowOffset = CGSizeMake(_leftOffset, 0);
編集:言い換えれば、影は正しい、ちょうど間違った場所にあります。