条目渲染不在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中添加下划线的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms 仅在一个平台 (iOS) 上更改条目的占位符颜色和文本颜色
Xamarin Forms - iOS 上的键盘覆盖条目(文本字段)
Xamarin Forms Webview html 视频不在 iOS 设备上播放
我们如何处理 Xamarin Forms Picker 的完成按钮单击事件?
MvvmCross 与 Xamarin.Forms 和自定义 iOS 渲染器 - 防止导航滑动 iOS - MasterDetail