Frage

Ich versuche, einen Picker-Controller mit einer Schaltfläche ‚Fertig‘ direkt darüber positionierte zu schaffen, um ein Formular anzuzeigen über die in einer anderen Ansicht ist.

Ich habe eine Unterklasse von UIViewController erstellt und mit IB Ich habe eine Symbolleiste und eine Picker Ansicht hinzugefügt. Dies scheint in Ordnung und durch Kopieren der Beispiele in UICatalog ich bekommen kann es die gewünschten Werte angezeigt werden, und ich kann für Auswahlen usw. hören.

alt text http://web.me.com/gareth.davis /so/settlement_picker_ui.png

In der oben habe ich die Hintergrundfarbe der Ansicht verwenden Alpha 0.0 sein. Ich habe auch versucht, die Alpha der Ansicht Einstellung ist es selbst auf 0,0, dies zeigt nur eine völlig transparente Sicht.

alt text http://web.me.com/gareth.davis /so/picker_running_in_app.png

Das oben ist die View-Controller über den oberen Teil meiner Form angezeigt werden:

    [self presentModalViewController:settlementPickerViewController                         
                        animated:YES];

Zusätzlich zu versuchen, verschiedene Alpha-Eigenschaften meiner Ansicht zu setzen habe ich auch die Höhe der Ansicht, um so versucht zu ändern, dass es keine Notwendigkeit für einen transparenten Abschnitt ist, Probleme sind die Ansicht dann auf halbe Höhe positioniert ist, die Bildschirm.

War es hilfreich?

Lösung

Die Lösung scheint zu sein, nicht eine UIViewController stattdessen eine einfache benutzerdefinierte UIView zu verwenden schön die Arbeit erledigt.

Ich habe Haentz der Farbeinstellung in der awakeFromNib Methode:

- (void)awakeFromNib {
    picker.delegate = self;
    self.backgroundColor = [UIColor clearColor];    
}

Beachten Sie, dass dies zu implementieren und nicht die Initwithframe-Methode, die die x-Code-Vorlage gibt Ihnen als Feder gesteuert Ansichten verwenden Initwithframe nicht (aus dem Apfel-Dokumentation).

Andere Tipps

Wahrscheinlich ich es einfach nicht bekommen, aber ich verstehe nicht genau das, was ist das Problem hier. Im unteren Screenshot, sollte die UI-Elemente transparent, ohne die weiße Fläche oben? Sie müssen den Rahmen des UIView in Ihrem UIViewController entsprechend eingestellt werden und ich denke, man könnte die Hintergrundfarbe transparent einstellen:

self.view.backgroundColor = [UIColor clearColor];

Ich bin nicht sicher, da ich nie die IB verwenden, aber es kann möglich sein, den Alpha-Wert der Hintergrundfarbe der Basisansicht auf 0 nicht das Alpha der Ansicht, selbst festzulegen, aber der Hintergrundfarbe .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top