我需要从用户那里获取文本作为输入。我使用编辑器,因为输入可以是多行的。但是,当用户聚焦时,将显示键盘上的编辑器完成按钮。我需要删除它。当我使用条目而不是编辑器时,完成按钮没有显示,但我需要以多行形式获取输入。我可以删除完成按钮还是可以将条目用作多行?
我为 ios 创建了一个自定义编辑器渲染器并成功删除了完成按钮。这是我的代码:
[assembly: ExportRenderer(typeof(CustomEditor), typeof(CustomEditorRenderer))]
namespace ProjectName.iOS
{
public class CustomEditorRenderer : EditorRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
{
base.OnElementChanged(e);
this.Control.InputAccessoryView = null;
}
}
}
"完成"按钮是默认行为。检查文档:https://developer.xamarin.com/recipes/cross-platform/xamarin-forms/controls/choose-keyboard-for-entry/
您可以通过在渲染器中使用 ImeOptions 来执行一些自定义:更改键盘的 ImeOptions of Xamarin.Forms.Entry 在自定义渲染器中不起作用,在 Android 上不起作用