を取得し、私はこのようになりますカスタムEntryRenderer内部方法OnElementChangedオーバーライドされました:私がやりたいすべてのFontAwesomeアイコンを追加するには入場コントロールをカスタマイズでCustomRendererでのコントロールの寸法(Xamarin.Forms iOS版)
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (Control != null)
{
var iconLabel = new UILabel();
iconLabel.Font = FontAwesome.Font(12);
iconLabel.Text = " " + FontAwesome.FAPlay;
iconLabel.Frame = new CGRect(x: 5, y: 0, width: 20, height: 20);
Control.LeftView = iconLabel;
Control.LeftViewMode = UITextFieldViewMode.Always;
Control.BorderStyle = UITextBorderStyle.None;
var bottomLine = new CALayer();
bottomLine.Frame = new CGRect(0.0, Control.Frame.Height - 1, Control.Frame.Width, 1.0);
bottomLine.BackgroundColor = UIColor.White.CGColor;
Control.Layer.AddSublayer(bottomLine);
}
}
を左端にレイヤーを追加してボトムボーダーしか持たないようにします。
Control.Frame
は、Width
& Height
(その値は0)を持たないという問題があります。
ボーダーボトムエントリ(UITextField)スタイルをハックするためのヘルプや別の方法はありますか? ありがとうございます。
:-)
(Xamarin 'Entry'である)' e.NewElement'がない場合は多分あなたもチェックできますnullを適用してそのディメンションを適用しますか –
@GeraldVersluisがそれを試みましたが、うまくいきませんでした。 –