7

Ich mache einen benutzerdefinierten Popover-Hintergrund durch Unterklasse UIPopoverBackgroundView. Ich möchte Popover ohne abgerundete Ecken machen. Ich kann erfolgreich Hintergrund ohne abgerundete Ecken erstellen (rot im Bild), aber es scheint, dass UIPopoverController dem Inhalt des Popover eine abgerundete Eckmaske hinzufügt (grün im Bild). Hier ist das Bild von der Ecke meines popover:UIPopoverBackgroundView ohne abgerundete Ecken

enter image description here

Irgendwelche Ideen, wie ich es überwinden?

+0

Try popoverLayoutMargins Eigenschaft UIPopupviewController einzustellen. – Tirth

+0

@Reformer Danke, aber es hat nicht für mich funktioniert – sash

+0

Können Sie uns Ihren Code zeigen? – Sulthan

Antwort

32

Ich fand ein einfache Lösung, in dem popover Content-Controller (was Sie initWithContentViewController Pass) hinzufügen:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    self.view.superview.layer.cornerRadius = 0; 
} 
+1

Danke, dass es mir auch meine Zeit gerettet hat ... Cheers – Sabby

+2

Das funktioniert nicht mehr in iOS 10+, hat iOS 9 nicht überprüft. – jhelzer

0

Sie können eine eigene PopoverBackgroundView erstellen. Ich habe noch nie UIPopoverBackgroundView verwendet, aber es gibt vielleicht eine Eigenschaft dafür, aber ansonsten können Sie eine eigene erstellen und die Ansicht ohne abgerundete Ecken festlegen.

+0

Gibt es eine API? Ich habe keine API gefunden, die ohne abgerundete Ecken in UIPopoverBackgroundView gesetzt wird? –

+0

Vielleicht kann das XQuartz-Framework Ihnen helfen. –

+0

Vielleicht hat Schärpe die richtige Lösung gegeben. –

0

Hierfür können Sie grüne Farbe ändern Farbe zu löschen und dann eine UIView auf Pop über Ansicht hinzufügen, mit greencolour und fügen Sie alle anderen Ansichten als Subviews. (Dies ist eine schwierige Art und Weise)

+0

danke, aber der Popover-Inhalt ist scrollbar, so dass diese Lösung nicht für mich funktioniert – sash

+0

haben Sie UIScrollView als Unteransicht von Pop-Over-View genommen? – Ashutosh

+0

Der Content-View-Controller des Popover ist UIViewController mit einer Tabellenansicht darin – sash