0
UITextFieldに基づいてカスタムコントロールを作成しようとしています。要件の1つは、デザイン時にコントロールの境界線の色を変更できることです。Xamarin.iOSがカスタムコントロールのbordercolorを変更する
私は以下のコードを持っています(下記参照)。この時点で、カスタムコントロールがデザイナーに表示され、私はそれを私のビューの上にドラッグできます。デザイナーのプロパティ "BorderColor"もデザイナーに表示され、色を選択できます。ただし、コントロール自体の境界線の色は変更されません(プロパティ値のみが変更されますが、コントロールの境界線は黒のままです)。
[Register("RidderTextField"), DesignTimeVisible(true)]
public class RidderTextField
: UITextField
{
private UIColor _borderColor = UIColor.Orange;
public RidderTextField(IntPtr handle) : base(handle) { }
public RidderTextField(RectangleF frame) : base(frame) { }
public RidderTextField()
{
Initialize();
}
[Export("BorderColor"), Browsable(true)]
public UIColor BorderColor
{
get { return _borderColor; }
set
{
_borderColor = value;
SetNeedsDisplay();
}
}
public override void AwakeFromNib()
{
base.AwakeFromNib();
Initialize();
}
private void Initialize()
{
BackgroundColor = UIColor.White;
BorderStyle = UITextBorderStyle.Line;
}
public override void Draw(CoreGraphics.CGRect rect)
{
base.Draw(rect);
Layer.BorderColor = BorderColor.CGColor;
}
}
ご迷惑をおかけして申し訳ございません。
に
を置くあなたの魅力のようなので、多くの作品をありがとうございました! –
これはあなたを助けてくれてうれしいです...私はXCodeとSwiftでカスタムコントロールを作っていたのと同じ問題を抱えていましたが、唯一の問題は境界線の幅であることが分かりました。 – Nerkyator