2017-06-17 1 views
1

Ich möchte einige Methoden zur UITextfield Klasse zusammen mit IBInspectable und IBDesignable Eigenschaften hinzufügen. Ich kann es in Ziel-C tun, aber finde keine Möglichkeit, dasselbe in Xamarin/C# zu machen. Kann mir jemand helfen?Wie erstelle ich eine Kategorie in Xamarin ios?

Vielen Dank für Ihre Zeit im Voraus.

+0

Xamarin etwas 'Custom Controls' wie gesehen genannt bietet [hier] (https://developer.xamarin.com/guides/ios/user_interface/designer/ios_designable_controls_overview/), die ähnelt der "IBInspectable" und "IBDesignable". Ich nehme an, du könntest das benutzen? – Demitrian

Antwort

0

In Xamarin (wirklich ist dies auf C#), was Sie wissen, wie Category in Objective-C ist bekannt als Extension Methods.

Mit den Erweiterungsmethoden können Sie einer Klasse Funktionalität hinzufügen, ohne sie zu unterklassifizieren, wie Sie sich vielleicht schon vorgestellt haben.

So zum Beispiel, wenn Sie eine Methode, um die UILabel Klasse hinzuzufügen für null und Leere in den Text Eigenschaft überprüfen Sie so etwas tun könnte:

public static class UILabelExtensionMethod 
{ 
    public static bool TextIsNullOrEmpty (this UILabel label) 
    { 
     return string.IsNullOrEmpty (label?.Text); 
    } 
} 

Jetzt mit dem oben Sie können anrufen, dass Verfahren auf beliebige UILabel

var myLabel = new UILabel(); 

var isEmpty = myLabel.TextIsNullOrEmpty(); 

nicht den IBInspectableIBDesignable und Anmerkungen verwendet werden, können jedoch Erweiterungsmethoden widersprechen. Diese Annotationen sind nur bei Sub-Classing verfügbar und wie @Demitrian angegeben, heißt diese Custom Controls.

Hope this helps.-

Verwandte Themen