【问题标题】:Xamarin.Forms iOS flipping from portrait to landscape not working (iPhone only)Xamarin.Forms iOS 从纵向翻转到横向不起作用(仅限 iPhone)
【发布时间】:2018-12-03 12:05:21
【问题描述】:

我在 iPhone 上调整网格大小时遇到​​问题。 我订阅了事件 SizeChanged,当我旋转设备时它正在上升。 以下是我用来更改网格大小的方法:

private void MainMenu_SizeChanged(object sender, EventArgs e)
    {
        if (Width > Height)
        {
            ImageSunLogo.Margin = 0;
            GridMenuItems = ChangeGridOrientation(GridMenuItems, 2, 3);

        }
        if (Height > Width)
        {
            ImageSunLogo.Margin = 20;
            GridMenuItems = ChangeGridOrientation(GridMenuItems, 3, 2);
        }
    }

    private Grid ChangeGridOrientation(Grid gridParent, int nOfRows, int nOfColumns)
    {
        var resultGrid = gridParent;
        var parentChilds = gridParent.Children.ToList();

        ClearGridRowsColsChilds(ref resultGrid);

        for (int i = 0; i < nOfRows; i++)
        {
            resultGrid.RowDefinitions.Add(new RowDefinition());
        }
        for (int i = 0; i < nOfColumns; i++)
        {
            resultGrid.ColumnDefinitions.Add(new ColumnDefinition());
        }

        int currentChildIndex = 0;
        for (int row = 0; row < nOfRows; row++)
        {
            for (int col = 0; col < nOfColumns; col++)
            {
                resultGrid.Children.Add(parentChilds[currentChildIndex], col, row);
                currentChildIndex++;
            }

        }

        return resultGrid;
    }

    private void ClearGridRowsColsChilds(ref Grid grid)
    {
        GridMenuItems.Children.Clear();
        GridMenuItems.RowDefinitions.Clear();
        GridMenuItems.ColumnDefinitions.Clear();
    }

此代码在 Android 设备、iPad 上完美运行,但在 iPhone 上,通过将手机旋转到左侧(正常工作)将方向从纵向更改为横向,应用程序不会触发此事件,并且网格不会翻动。 有没有人经历过这样的事情?

【问题讨论】:

  • 你检查 info.plist 中的 Landspace Left 了吗?你的 iPhone 是什么版本?
  • 好吧……就是这么明显。谢谢。
  • 我会把它作为答案发布,你能接受吗?
  • 好的,我会标记的。
  • 现在可以标记了。

标签: xamarin xamarin.forms xamarin.ios


【解决方案1】:

如果你想使用landscape。不要忘记检查Device Orientation中的info.plist

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多