2017-06-17 11 views
1

私は、IBInspectableとIBDesignableのプロパティと共に、いくつかのメソッドをUITextfieldクラスに追加したいと思います。私は客観的なCでそれをすることができますが、Xamarin/C#で同じことをする方法を見つけることができません。誰も私にこれを手伝ってもらえますか?xamarin iosでカテゴリを作成するには?

お時間をありがとうございます。

+0

見られるようにXamarinは、 'カスタムControls'と呼ばれるものを提供しています[ここ](https://developer.xamarin.com/guides/ios/user_interface/designer/ios_designable_controls_overview/) IBInspectableとIBDesignableです。あなたはそれを使うことができると思いますか? – Demitrian

答えて

0

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(); 

上の方法はしかし、拡張方法は、IBInspectableIBDesignable注釈で使用することができません。これらのアノテーションは、サブクラス化と@Demitrianの場合にのみ利用可能で、これはCustom Controlsと呼ばれます。似ている

・ホープ、このhelps.-

関連する問題