2016-07-11 3 views
0

Je n'arrive pas à définir layer.borderColor dans XCode.Comment définir layer.borderColor d'un objet UITextField à l'aide d'attributs d'exécution définis par l'utilisateur, pour Xamarin?

La plupart des ressources en ligne semblent indiquer que borderColor est de type CGColor et que XCode applique UIColors. Ils disent que vous pouvez contourner ce problème en utilisant les propriétés de proxy, mais ils offrent uniquement des guides en Objective C et Swift:

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

C# n'a pas de concept de propriétés d'extension, ce qui signifie que je ne peux pas porter le code ci-dessus.

Je me suis assuré que ma largeur de bordure est définie sur 1, ce qui fait apparaître une bordure noire autour de UITextField.

Y a-t-il un moyen d'y parvenir à partir du fichier storyboard ou xib, plutôt que de le faire par programmation?

Répondre

1

Vous pouvez ouvrir le fichier de storyboard dans le générateur d'interface Xcode pour les y définir. Les changements devraient refléter dans Xamarin.

Sinon, si ce que vous avez des problèmes avec est juste en utilisant un CGColor pour layer.BorderColor, vous pouvez simplement obtenir de votre UIColor la propriété CGColor.

À titre d'exemple:

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

Je suis allé avec la deuxième option, bien que je l'aurais aimé pouvoir le faire à partir de story-board d'exécution défini par l'utilisateur Attributs dans XCode, comme vous le suggérez. Je ne vais pas dire que c'est juste jusqu'à ce que je sache qu'il n'y a pas d'autre moyen de le faire. Mais merci, Timothy. – Chucky

+0

Avez-vous essayé d'ouvrir le fichier de storyboard à partir de Xcode plutôt que de le faire à partir de Xamarin? –

+0

Vous voulez dire lancer une instance de XCode, et l'ouvrir à partir du dialogue à l'intérieur? Je n'ai pas encore essayé. Cela sera-t-il différent de l'ouverture de XCode depuis Xamarin? – Chucky