Наличие приложения Xamarin.Forms с TextEntry.На iOS это выглядит так:
Я пытаюсь убрать закругленные углы.Поэтому я добавил следующий эффект в проект iOS:
[assembly: ResolutionGroupName("Effects")]
[assembly: ExportEffect(typeof(EntryWithClearButtonEffect), "EntryWithClearButtonEffect")]
namespace C4S.MobileApp.iOS.Effects
{
public class EntryWithClearButtonEffect : PlatformEffect
{
protected override void OnAttached()
{
ConfigureControl();
}
protected override void OnDetached()
{
}
private void ConfigureControl()
{
var uiTextField = ((UITextField)Control);
//Add iOS specific "clear button" to TextEntry
uiTextField.ClearButtonMode = UITextFieldViewMode.WhileEditing;
//Excpect to remove rounded corners
uiTextField.Layer.CornerRadius = 0;
}
}
}
и использовал его в общем проекте:
<Entry x:Name="SearchEntry" VerticalOptions="End" Placeholder="Suchen..." ReturnType="Done" IsTextPredictionEnabled="False"
Focused="VisualElement_OnFocused" Completed="Entry_OnCompleted" TextChanged="Entry_OnCompleted">
<Entry.Effects>
<customControls:EntryWithClearButton />
</Entry.Effects>
</Entry>
К сожалению, закругленные углы все еще присутствуют.Также попытался добавить следующий код в ConfigureControl ():
uiTextField.ClipsToBounds = true;
uiTextField.Layer.MasksToBounds = true;
Также безрезультатно.Установка UITextField.BorderStyle в None удаляет всю границу.Это не то, что я хочу.
Редактировать:
Так выглядит TextEntry с предполагаемым CustomRenderer
от Лукаса Чжана - MSFT:
Границы прямоугольной формы присутствуют, но, к сожалению, также закругленные углы.Кстати, я тестировал с CustomRenderer
и моим выше Effect
.Нет разницы.Я думаю, что использование Effect
является лучшим вариантом здесь (см. Зачем использовать эффект поверх пользовательского рендерера? ).