代码之家  ›  专栏  ›  技术社区  ›  Tuğçe Arar

沙马林。PageRenderer中的表单UINavigationBar

  •  0
  • Tuğçe Arar  · 技术社区  · 7 年前

    我有一个用于相机的页面渲染器,我想在这个渲染器页面的底部菜单中使用native而不是Xamarin。表单页面。我怎样才能做到这一点?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Community CDub    4 年前

    调整 Frame 属于 View NavigationBar 在页面渲染器中。

    为名为CustomPageRender的页面创建自定义呈现器。

    [assembly: ExportRenderer(typeof(Page), typeof(CustomPageRender))]
    namespace FormsApp2.iOS
    {
    class CustomPageRender :PageRenderer
    {
        public override void ViewWillLayoutSubviews()
        {
            base.ViewWillLayoutSubviews();
            if (this.NavigationController != null)
            {
                CGRect rect = View.Frame;
                rect.Y = -44;
                View.Frame = rect;
    
                CGRect NavRect = NavigationController.NavigationBar.Frame;
                NavRect.Y = UIScreen.MainScreen.Bounds.Height - 44;
                NavigationController.NavigationBar.Frame = NavRect;
            }
        }
    }
    }