Остановите подпрыгивание IOS в Xamarin.Forms - PullRequest
0 голосов
/ 07 февраля 2019

Я подаю заявку в Xamarin.Form, и я новичок в Xamarin.В IOS приложение отскакивает при прокрутке вверху.Есть ли способ остановить отскок свитка?

Я пытаюсь запустить файл CSS, но он не работает.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Причина: в Xamarin.forms для iOS существует некоторое свойство UITableView (просмотр списка в формах).

@property(nonatomic)  BOOL  bounces;                  // default YES. if YES, bounces past edge of content and back again

@property(nonatomic)  BOOL  alwaysBounceVertical;     // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically

@property(nonatomic)  BOOL  alwaysBounceHorizontal;   // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally

Таким образом, только установка AlwaysBounceVertical в качестве false не будет работать.Вы должны установить bounces как ложное.

Решение: Как сказал @Gerald Versluis, вы можете использовать CustomRenderer.

public class MyListViewRenderer:ListViewRenderer
{
    public MyListViewRenderer()
    {

    }

    protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
    {
        base.OnElementChanged(e);

        if(Control!=null)
        {
            Control.Bounces = false;
        }


    }
}
0 голосов
/ 07 февраля 2019

Для iOS есть специальное свойство.Это AlwaysBounceVertical.С этим также связано несколько связанных свойств.

Настройка этих свойств не поддерживается напрямую в формах, поэтому вам необходимо создать пользовательский рендер или аналог.Посмотрите на это:

using NoBounceiOS.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(ListView), typeof(NoBounceRenderer))]
namespace NoBounceiOS.iOS
{
    public class NoBounceRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.AlwaysBounceVertical = false;
            }
        }
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...