2016-07-11 4 views
0

Ich kann nicht scheinen, die layer.borderColor in XCode zu setzen.Wie setze ich die layer.borderColor eines UITextField mit benutzerdefinierten Laufzeitattributen für Xamarin?

Die meisten Online-Ressourcen scheinen anzuzeigen, dass borderColor vom Typ CGColor ist und dass XCode UIColors anwendet. Sie sagen, Sie können dies umgehen, indem Proxy-Eigenschaften verwenden, aber sie bieten nur Führungen in Objective C und Swift:

Is it possible to set UIView border properties from interface builder?

C# hat kein Konzept für Erweiterungseigenschaften, was bedeutet, ich kann nicht Port den obigen Code.

Ich habe sichergestellt, dass meine Rahmenbreite auf 1 gesetzt ist, wodurch ein schwarzer Rahmen um das UITextField herum erscheint.

Gibt es das sowieso aus dem Storyboard oder XIB-Datei, anstatt es programmatisch zu tun?

Antwort

1

Sie können die Storyboard-Datei im Xcode Interface Builder öffnen, um sie dort zu platzieren. Die Änderungen sollten sich in Xamarin widerspiegeln.

Alternativ kann, wenn, was Sie mit Mühe, ist nur ein CGColor für layer.BorderColor verwenden, können Sie einfach die CGColor Eigenschaft von Ihrem UIColor zu bekommen.

Als Beispiel:

view.layer.BorderColor = UIColor.Black.CGColor; 
+0

Ich ging mit der zweiten Option, obwohl ich in der Lage sein, es mir gewünscht hätte es aus Storyboard User Defined Runtime-Attribute in XCode zu tun, wie Sie vorgeschlagen. Ich werde das nicht als richtig bezeichnen, bis ich weiß, dass es keinen anderen Weg gibt, dies zu tun. Aber danke, Timothy. – Chucky

+0

Haben Sie versucht, die Storyboard-Datei von Xcode zu öffnen, anstatt sie von Xamarin aus zu starten? –

+0

Sie meinen, führen Sie eine Instanz von XCode, und öffnen Sie es aus dem Dialog innerhalb dort? Das habe ich noch nicht ausprobiert. Wird das anders sein als das Öffnen von XCode innerhalb von Xamarin? – Chucky

Verwandte Themen