- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在添加一个导航栏使用
MainPage = new NavigationPage(new Home());
然后在我的 Home.cs
页面上,我不想显示导航栏,只有从该页面链接的页面我才想显示导航栏。为了阻止导航栏在此页面上显示,我在 Home.cs
的开头使用了以下代码。
NavigationPage.SetHasNavigationBar (this, false);
从这里开始,当使用 Navigation.Push.Async
转到另一个页面时,我在 Home.cs
的底部出现“跳转”(移动?)。就像它增加了下一页导航栏的高度。
在 iOS 上,如果您将 Home.cs
上的背景颜色设置为白色以外的任何颜色,它会导致明显的跳跃。
在 Android 上,它似乎只在导航回 Home.cs
页面时才会导致此“跳转”。
这是我用来推送到下一页的代码。
btn.Clicked += async (sender, e) => await Navigation.PushAsync (new TestPage ());
我试图从页面中删除所有 padding.margins 但这没有帮助。当我开始一个新项目来测试它时,我没有任何其他可以改变的东西,所以我想不出任何其他可以解决这个问题的改变。
动图如下: Tried to show the jump in this gif
注意: 请留意 Home.cs
(灰色)页面。
最佳答案
替代方案
在我的情况下,我来自没有导航栏的 SpringBoard。因此,当转到带有导航栏的 ContentPage 时,我所做的是在 PushAsync 之前隐藏并在 PushAsync 之后显示导航栏。
NavigationPage.SetHasNavigationBar(page, false);
await Navigation.PushAsync(page);
NavigationPage.SetHasNavigationBar(page, true);
不确定这是否是一个巧妙的解决方案,但至少它摆脱了跳跃效果。作为副作用,它使导航栏从顶部滑入,看起来更像是经过深思熟虑的 UI 动画然后跳转内容。
关于c# - Xamarin.Forms SetHasNavigationBar false 导致在 PushAsync 上跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983548/
在 Xamarin 表单中,导航方法如 PushAsync是一个异步 Task 返回方法,但是看起来调用时使用 await 没有什么区别,是吗?我应该等待这些电话吗? 另一个问题,navigation
我有以下代码: Task task = Navigation.PushAsync(myPage); foreach(var temp in myModel) { //do bla b
我正在使用 Xamarin.Forms,我有 2 个页面,一个是 ListView ,另一个是我用作 ListView 过滤器的 View 。我目前正在使用 Navigation.PushAsync
我正在关注此 Xamarin Forms quick start guide (多屏的) 但是当我尝试运行已完成的程序时出现此错误 System.InvalidOperationException:
我正在使用 Xamarin Forms,并且尝试从按钮命令退出导航堆栈 - 并导航到新页面(本质上,我想“重置”后退按钮上的历史记录)。 _finishToolbarItem.Command = ne
我正在关注此 Xamarin Forms quick start guide (多屏的) 但是当我尝试运行已完成的程序时出现此错误 System.InvalidOperationException:
我正在做一个主从页面作为菜单,但我收到了这个错误: PushAsync is not supported globally on Android, please use a NavigationPag
我有一个 Xamarin.Forms 项目,并且我有一个自定义控件,它应该在点击时打开一个新页面。不幸的是,当我调用 Navigation.PushAsync(...); 时没有任何反应。我阅读了无数
当我处理 ListView 项目的 Tap 事件时一切正常,但是当我在 TabbedPage 中使用它时它显示异常请提供解决方案这个问题提前致谢。 Exception: PushAsync is no
我正在调用 await client.SyncContext.PushAsync(); 将新创建/更新的对象推送到服务器。然而,并非每次都遵守 __operations 表中的顺序。 我的应用中典型的
我们正在使用 xamarin.forms 和 MVVM 模式开发应用程序。我们使用内置导航系统来推送和弹出页面。现在我们在使用命令导航页面时遇到了问题。 假设我们有一个带有导航到另一个页面的按钮的 V
我在连接到按钮单击事件的 Xamarin.Forms.ContentPage 中有以下方法 public class LoginPage : ContentPage { private But
大家好,我不断收到以下信息: System.InvalidOperationException 和 “iOS 上不全局支持 PushAsync,请使用 NavigationPage。” 尽管我正在使用
我想导航到 Xamarin Forms 中的其他页面,但它在内容 View 中不起作用。我正在使用 await Navigation.PushAsync(new Page2()); 此代码没有给出任何
我正在添加一个导航栏使用 MainPage = new NavigationPage(new Home()); 然后在我的 Home.cs 页面上,我不想显示导航栏,只有从该页面链接的页面我才想显示导
我正在努力寻找解决方案希望有人能给我指出正确的方向。 我需要导航到 Forms ContentPage,例如: Navigation.PushAsync(new ExamplePage()); 然后从
编辑:可以在此处找到演示崩溃的示例项目:https://github.com/rringham/brokenazurexamforms - 您需要在以下位置设置自己的 Azure 应用服务 URL:
问这个问题的原因我在 xamarin 表单 mvvm 架构中使用 PushAsync 时出错 await Navigation.PushAsync(new Page2()); 错误是 我已通过将 Pu
问这个问题的原因我在 xamarin 表单 mvvm 架构中使用 PushAsync 时出错 await Navigation.PushAsync(new Page2()); 错误是 我已通过将 Pu
所以,我遇到了这个问题,但我不知道如何解决。基本上,当我从 Navigation.PushAsync(tabbedPage); 调用时,我想更改 TabLayout 的 mainTitle 颜色。看起
我是一名优秀的程序员,十分优秀!