Xamarin.iOS 更改自定义控件的边框颜色
Xamarin.iOS change bordercolor for custom control
我正在尝试创建一个基于 UITextField 的自定义控件。要求之一是能够在设计时更改控件的边框颜色。
目前我有以下代码(见下文)。此时自定义控件出现在设计器中,我可以将它拖到我的视图上。设计器属性"BorderColor"也在设计器中显示我可以select一个颜色。然而,控件本身的边框颜色并没有改变(只有 属性 值发生变化,但控件的边框保持黑色)。
[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;
}
}
如有任何帮助或指导,我们将不胜感激。
就放
Layer.BorderWidth = 1.0f;
在Draw
方法中
我正在尝试创建一个基于 UITextField 的自定义控件。要求之一是能够在设计时更改控件的边框颜色。
目前我有以下代码(见下文)。此时自定义控件出现在设计器中,我可以将它拖到我的视图上。设计器属性"BorderColor"也在设计器中显示我可以select一个颜色。然而,控件本身的边框颜色并没有改变(只有 属性 值发生变化,但控件的边框保持黑色)。
[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;
}
}
如有任何帮助或指导,我们将不胜感激。
就放
Layer.BorderWidth = 1.0f;
在Draw
方法中