gpt4 book ai didi

xamarin.forms - 条目渲染不在 iOS Xamarin Forms 中添加下划线

转载 作者:行者123 更新时间:2023-12-05 06:36:26 25 4
gpt4 key购买 nike

我在 Xamarin Forms 和 Android 中有一个条目,默认情况下它显示有下划线,当我针对 iOS 测试它时,它总是带有这样的矩形:

enter image description here

我希望它像在 Android 中一样:

enter image description here

我使用了自定义渲染,我指定我想要一个下划线,但它仍然显示在一个矩形中。此代码不起作用:

class MyEntryRenderer : EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);

if (Control != null)
{
Control.BorderStyle = UITextBorderStyle.Line;
}
}
}

我已经用下一段代码解决了这个问题:

class MyEntryRenderer : EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);

if (Control != null)
{
Control.BorderStyle = UITextBorderStyle.None;

//Create borders(bottom only)
CALayer border = new CALayer();
float width = 2.0f;
border.BorderColor = Color.FromHex(ColorConstants.BlueHex).ToCGColor();
border.Frame = new CGRect( 0, 40, 400, 2.0f);
border.BorderWidth = width;

Control.Layer.AddSublayer(border);
Control.Layer.MasksToBounds = true;
}
}
}

但是还是不明白为什么前面的代码不行,应该就是这么简单。有什么想法吗?

最佳答案

https://developer.xamarin.com/api/type/UIKit.UITextBorderStyle/

UITextBorderStyle 的枚举值为 BezelLineNoneRoundedRect。所有这些(None 除外)都只是描述围绕整个 UITextView 的边框样式,因此 Line 值不会表示单条线,它表示围绕整个 View 的实线矩形,而不是边框​​或圆角矩形。

关于xamarin.forms - 条目渲染不在 iOS Xamarin Forms 中添加下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49107471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com