Xamarin формы: как убрать синее поле в ios при выборе этой страницы из панели навигации? - PullRequest
0 голосов
/ 07 июня 2019

Я реализовал Навигационный ящик в своем проекте форм xamarin.Я слежу за этим блогом для этой функции.

Она отлично работает в части Android, но когда я тестирую ее в ios , на каждой странице ящика появляется синее поле.товар .См. Снимок экрана ниже:

Мой код ContentPage:

<ContentPage.Content>
        <Grid>
            <StackLayout
                HorizontalOptions="Fill"
                VerticalOptions="FillAndExpand"
                x:Name="CenteredStackLayout"
                Orientation="Vertical"
                BackgroundColor="White">

             //Added the below codes for solving padding issue in ios part
                <StackLayout>
                    <StackLayout.Padding>
                        <OnPlatform x:TypeArguments="Thickness" 
                            Android="0, -10, 0, 0" 
                            WinPhone="0, 0, 0, -15" 
                            iOS="0, 15, 0, 0"/> 
                    </StackLayout.Padding>
                </StackLayout>

                <BoxView BackgroundColor="#0091da">
                    <BoxView.Margin>
                        <OnPlatform x:TypeArguments="Thickness"
                              Android="0, -30, 0, -15"
                            WinPhone="0, -30, 0, -15"
                              iOS="0, -30, 0, -15"/>
                    </BoxView.Margin>
                </BoxView>

                <StackLayout
                    \\My layout fields
                </StackLayout>
            </Grid>
     </ContentPage.Content>

В UWP навигационный ящик не отклоняетсяпосле выбора элемента из него.

Я много искал, можете ли вы предложить какое-либо решение для этих 2 вопросов?

1 Ответ

1 голос
/ 10 июня 2019

Я добавил приведенные ниже коды на все мои страницы из-за проблем с заполнением и синими заголовками в ios. Это вызывает синий квадрат в ios, я удалил эти коды и теперь часть ios работает нормально.

<StackLayout>
            <StackLayout.Padding>
                <OnPlatform x:TypeArguments="Thickness" 
                    Android="0, -10, 0, 0" 
                    WinPhone="0, 0, 0, -15" 
                    iOS="0, 15, 0, 0"/> 
            </StackLayout.Padding>
        </StackLayout>

        <BoxView BackgroundColor="#0091da">
            <BoxView.Margin>
                <OnPlatform x:TypeArguments="Thickness"
                      Android="0, -30, 0, -15"
                    WinPhone="0, -30, 0, -15"
                      iOS="0, -30, 0, -15"/>
            </BoxView.Margin>
    </BoxView>

Для UWP я добавил ниже коды в конструкторе MasterDetailPage для решения проблем с навигацией в окне навигации:

if (Device.RuntimePlatform == Device.UWP)
    {
        MasterBehavior = MasterBehavior.Popover;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...