2015-09-20 20 views
8

iOS 8では、ポップオーバーに影がありませんでした。今やiOS 9では、非常に重くて遠くにある影があり、純粋な白い背景に望ましくないように見えます。どのようにその影を取り除くことができますか?その代わりに、ポップオーバーの周りに薄い灰色の線を追加しますか?あるいは少なくとも軽量化または軽量化されています。iOS 9で影のポップオーバーを削除するにはどうすればいいですか?

これは、アクションシートを表示し、.Popover を使用しているビューコントローラを提示し、おそらく他の状況で発生する場合に発生します。

ポップオーバーセグエ: enter image description here

アクションシート:

UIActionSheet(title: "Title", delegate: nil, cancelButtonTitle: "Cancel", destructiveButtonTitle: "Destroy").showInView(sender as! UIView) 

enter image description here

+0

あなたのポップオーバーが他の人と違って見えるようにするためのユースケースがある場合は、アップルで強化要求を提出することをお勧めします。影の効果はUIPopoverPresentationControllerによって描画されますが、その動作に介入またはカスタマイズする方法はありません。 – matt

+0

必要なAPIがありません。あなたが必要とするものなら、あなた自身の "ポップオーバー"クラスを影なしに作成してください。 – rmaddy

+0

@ジョイ、何かを見つけてください、私の答えは正しいとは思わない? –

答えて

5

あなたのUIPopoverBackgroundView実装のinitWithFrameUIPopoverBackgroundView

を使用して、独自のカスタムポップオーバーの背景を作ることができ、あなたはドロップシャドウの場合は[UIColor clearColorです。

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 

     self.layer.shadowColor = [[UIColor clearColor] CGColor]; 
    } 

    return self; 
} 
+0

奇妙なことに、色はあなたが変更できる唯一の性質のようです。また、半径、不透明度などの他のシャドウプロパティを無駄に変更しようとしました –

関連する問題