2016-04-01 9 views
0

In meiner Xamarin.iOS-Anwendung gibt es viele Schaltflächen mit dem gleichen Schema, aber anders als Standart UIButton. Ich habe eine Klasse für die Schaltflächen erstellt, da die meisten Features identisch sind, aber z. B. die Textfarbe oder die Hintergrundfarbe unterschiedlich sind.Xamarin.iOS: Erstellen Sie eine benutzerdefinierte Schaltfläche mit einem zusätzlichen Objekt

Wie kann ich eine zusätzliche Information über einen beliebigen Button im Storyboard eingeben? Und wie kann ich darauf im Code reagieren?

Antwort

2

Sie können Ihre benutzerdefinierten Element sichtbar für den Designer mit dem DesignTimeVisible und die Register Attribut wie

[Register ("CustomButton"), DesignTimeVisible (true)] 
public class CustomButton: UIButton { 

    [Export ("CustomProperty "), Browsable (true)] 
    public int CustomProperty {get; set;} 

    public CustomButton(IntPtr handle) : base (handle) { } 

    public CustomButton() 
    { 
     // Called when created from code. 
     Initialize(); 
    } 

    public override void AwakeFromNib() 
    { 
     // Called when loaded from xib or storyboard. 
     Initialize(); 
    } 

    void Initialize() 
    { 
     // Common initialization code here. 
     CustomProperty = 0xB00B5; 
    } 
} 

Für alle Eigenschaften, die Sie einfach festlegen möchten, bei der Designer hae Export und Browsable (true) hinzuzufügen. In der Initialize können Sie alle Werte der allgemeinen Eigenschaften festlegen.

Es wird in der Toolbox unter Custom Components angezeigt. Sie müssen möglicherweise neu erstellen. enter image description here

Und die benutzerdefinierte Eigenschaft kann in der Properties Scheibe

enter image description here

Weitere Daten geändert werden: https://developer.xamarin.com/guides/ios/user_interface/designer/ios_designable_controls_overview/

Verwandte Themen