xamarin 在ios渲染器的选取器中向下箭头的右侧添加填充

ssm49v7z  于 2023-02-17  发布在  iOS
关注(0)|答案(1)|浏览(124)

我在xamarin picker上添加了一个向下箭头。我为此创建了一个自定义的iOS渲染器。我可以让箭头显示得很好,但是它接触到了picker的右手边。我如何在箭头的右边添加一些填充呢?我已经在我的iOS渲染器中尝试了以下方法。

protected void UpdateBackground(UITextField control)
{
    if (control == null) return;
    control.Layer.CornerRadius = ElementV2.CornerRadius;
    control.Layer.BorderWidth = ElementV2.BorderThickness;
    control.Layer.BorderColor = ElementV2.BorderColor.ToCGColor();

    var downArrowLabel = new UILabel(new CoreGraphics.CGRect(new CoreGraphics.CGPoint(control.Frame.Size.Width - 20 - 16, 0), new CoreGraphics.CGSize(20, control.Frame.Size.Height)));
    downArrowLabel.Font = UIFont.FromName("FontAwesome", 30);
    downArrowLabel.Text = "\uf0d7";
    downArrowLabel.TextColor = UIColor.Black;
    downArrowLabel.TextAlignment = UITextAlignment.Center;
    downArrowLabel.ContentMode = UIViewContentMode.ScaleAspectFit;
    control.RightView = downArrowLabel;
    control.RightViewMode = UITextFieldViewMode.Always;
    control.RightView.Bounds = new CoreGraphics.CGRect(0, 0, 20 + 16, control.Frame.Size.Height);
}

gcmastyq

gcmastyq1#

我根据你的代码写了一个Picker渲染器,测试了一下,发现在Text后面加几个空格可以有效的解决这个问题,看起来很奇怪,但是效果很好,就像这样

downArrowLabel.Text = "\uf0d7      ";

相关问题