Xamarin.Forms - Как полностью реализовать рендеринг фоновых изображений без растяжения в устройствах iOS для приложения Xamarin.Forms - PullRequest
0 голосов
/ 11 февраля 2019

Я новичок в разработке приложений Xamarin.Forms и происходит из собственной разработки iOS.Для моего нового приложения я должен реализовать фоновое изображение для приложения, чтобы оно вписывалось в экран устройства точно так, как оно выглядит в родном приложении для iOS.

В моем опыте iOS мне приходилось включать отдельные изображения для всех экранов устройства.размеры и реализация категории / расширения в классе UIImage, чтобы выбрать правильное изображение на основе размера / разрешения экрана / устройства, которое может правильно установить фоновое изображение или способ отображения заставки.

Должен ли я сделатьаналогичную пользовательскую реализацию на стороне Xamarin.iOS и установите ее из приложения Xamarin.Forms, вызвав реализацию на другой платформе ОС, или есть ли другой способ реализовать это?

Сейчас я использую векторное изображениеразрешение iPhone Xs Max / iPad 12,9 "Pro, которое будет использоваться / отображаться на всех устройствах, выводится в виде следующих изображений.

Исходное изображение используется / ожидание: iPad: enter image description hereiPhone: enter image description here

Как он отображается в реальных устройствах:

iPhone Xr / Xs Max - обеспечивает идеальный : enter image description here

iPhone X / X: enter image description here

iPhone 6/7/8 Plus: enter image description here

iPhone 6/7/8: enter image description here

iPad 12,9 "Pro - делает идеально : enter image description here

iPad 10,5 "Pro - не очень хорошо: enter image description here

iPad Air - Эффект фонового изображения значительно ниже : enter image description here

Ожидаемый результат - идеальный рендеринг при просмотре iPhone Xs Max и iPad Pro 12,9 "на всех устройствах./resolutions.

В текущем приложении я должен сделать backgroundImage из уровня ContentPage, так как кнопки / элементы навигации (панели инструментов) отображаются в верхней части фона страницы, поэтому я не могу использовать макет (сетку)/ RelativeLayout) и установите для изображения только AspectFill.

Любые предложения / примеры кода очень приветствуются.

PS: я проверил различные форумы и вопросы SO, некоторые ответы отражают использование изображения внутри Grid или RelativeLayout и отображение его на полном экране.Тем не менее, опыт не идеален, так как мы выбираем изображения для экранов разных размеров в случае родного приложения для iOS.

...