私は、IBInspectableとIBDesignableのプロパティと共に、いくつかのメソッドをUITextfieldクラスに追加したいと思います。私は客観的なCでそれをすることができますが、Xamarin/C#で同じことをする方法を見つけることができません。誰も私にこれを手伝ってもらえますか?xamarin iosでカテゴリを作成するには?
お時間をありがとうございます。
私は、IBInspectableとIBDesignableのプロパティと共に、いくつかのメソッドをUITextfieldクラスに追加したいと思います。私は客観的なCでそれをすることができますが、Xamarin/C#で同じことをする方法を見つけることができません。誰も私にこれを手伝ってもらえますか?xamarin iosでカテゴリを作成するには?
お時間をありがとうございます。
Xamarin(実際にはC#にあります)で、Objective-CのCategory
として知られているものはExtension Methods
として知られています。
拡張メソッドを使用すると、既に想像しているように、サブクラス化せずにクラスに機能を追加できます。あなた以上呼び出すことができると今
public static class UILabelExtensionMethod
{
public static bool TextIsNullOrEmpty (this UILabel label)
{
return string.IsNullOrEmpty (label?.Text);
}
}
:
だから例えば、あなたがこのような何かを行うことができ、テキストプロパティにはnullと空をチェックするUILabel
クラスにメソッドを追加したい場合任意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