条目渲染不在iOS Xamarin Forms中添加下划线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条目渲染不在iOS Xamarin Forms中添加下划线相关的知识,希望对你有一定的参考价值。
我有一个Xamarin Forms和android的条目,它默认显示下划线,当我测试ios时,它总是有一个像这样的矩形:
我希望它就像在Android中一样:
我使用自定义渲染,我指定我想要一个下划线,但它仍然显示在一个矩形。此代码不起作用:
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
的枚举值是Bezel
,Line
,None
和RoundedRect
。所有这些(None
除外)只是描述围绕整个UITextView
的边界样式,因此Line
值并不意味着一条线,它意味着围绕整个视图的实线矩形,而不是一个边框或圆角矩形。
以上是关于条目渲染不在iOS Xamarin Forms中添加下划线的主要内容,如果未能解决你的问题,请参考以下文章