2015-09-20 9 views
8

In iOS 8 hatten Popovers keinen Schatten. Jetzt gibt es in iOS 9 einen sehr schweren und weit reichenden Schatten, der auf reinen weißen Hintergründen weniger als wünschenswert aussehen kann. Wie kann dieser Schatten entfernt werden und stattdessen eine dünne hellgraue Linie um das Popover gelegt werden? Oder zumindest reduziert oder leichter gemacht.Wie Schatten hinter Popovers auf iOS 9 entfernen?

Dies tritt auf, wenn Action-Sheets angezeigt werden, die einen View-Controller mit dem UIModalPresentationStyle und vielleicht in anderen Kontexten darstellen.

Popover segue: enter image description here

Aktionsblatt:

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

enter image description here

+0

Wenn Sie einen Anwendungsfall haben, warum Ihre Popovers anders aussehen sollten als alle anderen, empfehle ich, eine Verbesserungsanfrage bei Apple einzureichen. Der Schatteneffekt wird vom UIPopoverPresentationController gezogen, aber Sie haben keine Möglichkeit zu intervenieren oder sein Verhalten anzupassen. – matt

+0

Es gibt keine API für was Sie wollen. Erstellen Sie Ihre eigene "Popover" -Klasse ohne Schatten, wenn Sie das brauchen. – rmaddy

+0

@Joey, hast du etwas herausgefunden, meinst du nicht, meine Antwort ist richtig? –

Antwort

5

Sie können Ihre eigenen popover Hintergrund mit UIPopoverBackgroundView

Im initWithFrame Ihrer UIPopoverBackgroundView Umsetzung machen, Sie können eine verwenden [UIColor clearColor für den Schlagschatten.

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

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

    return self; 
} 
+0

Seltsamerweise scheint die Farbe die einzige Eigenschaft zu sein, die Sie ändern können. Ich habe auch versucht, die anderen Schatteneigenschaften wie Radius, Deckkraft usw. vergeblich zu ändern –