1
我想將一些方法與IBInspectable和IBDesignable屬性一起添加到UITextfield類。我可以在Objective-C中完成它,但是在Xamarin/C#中找不到同樣的方法。任何人都可以幫助我做到這一點?如何在xamarin ios中創建類別?
感謝您的時間提前。
我想將一些方法與IBInspectable和IBDesignable屬性一起添加到UITextfield類。我可以在Objective-C中完成它,但是在Xamarin/C#中找不到同樣的方法。任何人都可以幫助我做到這一點?如何在xamarin ios中創建類別?
感謝您的時間提前。
在Xamarin中(真的這是在C#上)Objective-C中你所知道的Category
被稱爲Extension Methods
。
如您可能已經想象的那樣,擴展方法允許您爲類添加功能而無需對其進行子類化。
因此,舉例來說,如果你想一個方法添加到UILabel
類來檢查空和空到文本屬性,你可以做這樣的事情:
public static class UILabelExtensionMethod
{
public static bool TextIsNullOrEmpty (this UILabel label)
{
return string.IsNullOrEmpty (label?.Text);
}
}
與上面你可以調用
現在在任何方法的UILabel對象
var myLabel = new UILabel();
var isEmpty = myLabel.TextIsNullOrEmpty();
然而,擴展方法不能與IBInspectable
和IBDesignable
註解使用。這些註釋僅在子分類和@Demitrian表示這稱爲Custom Controls時可用。如圖
希望這helps.-
Xamarin提供一些所謂的'自定義Controls' [這裏](https://developer.xamarin.com/guides/ios/user_interface/designer/ios_designable_controls_overview/),它類似於'IBInspectable'和'IBDesignable'。我想你可以使用它? – Demitrian