我知道 Xamarin.Android 代码,但 Xamarin.IOS 呢?
Xamarin.Android 代码:
public class CustomNumEntry : EntryRenderer
{
public CustomNumEntry(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (this.Control != null)
{
Control.SetPadding(10, 0, 0, 15);
Control.InputType = Android.Text.InputTypes.ClassNumber | Android.Text.InputTypes.NumberFlagSigned | Android.Text.InputTypes.NumberFlagDecimal;
Control.TextAlignment = Android.Views.TextAlignment.Center;
}
if (e.OldElement == null)
{
var nativeEditText = (global::Android.Widget.EditText)Control;
nativeEditText.SetSelectAllOnFocus(true);
}
}
}
最佳答案
对于 Xamarin iOS:
nativeTextField.EditingDidBegin += (object sender, EventArgs eIos) =>
{
nativeTextField.PerformSelector(new Selector("selectAll"), null, 0.0f);
};
对于 Xamarin.Forms 使用 iOS 自定义渲染器(您正在寻找):
public class CustomNumEntry : EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (Control != null)
{
var nativeTextField = (UITextField)Control;
nativeTextField.EditingDidBegin += (object sender, EventArgs eIos) =>
{
nativeTextField.PerformSelector(new ObjCRuntime.Selector("selectAll"), null, 0.0f);
};
}
}
}
关于xamarin.forms 如何使用 Entry 选择焦点上的所有文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54033712/