我正在开发一个简单的xamarin表单应用程序,其中一个视图与Mvvmcross框架结合使用。一切都进展顺利,但在某些时候,我注意到状态栏和所有系统控件(如警报,导航栏,后退按钮)的大小与其他应用程序相比(仅在iOS平台上)。我已经尝试过但没有成功恢复所有更改,但这个错误仍然存在。使用VS 2015模板创建的其他测试应用程序正常运行。在Status bar size example,这种差异清晰可见。
在代码中,我只有一个标准的Mvvmcross设置与MainPage.xaml视图,其中包含没有任何自定义效果或渲染器的ContentPage。
iOS Setup.cs
protected override IMvxIosViewPresenter CreatePresenter()
{
Forms.Init();
var xamarinFormsApp = new App();
return new MvxFormsIosPagePresenter(Window, xamarinFormsApp);
}
iOS AppDelegate
[Register("AppDelegate")]
public partial class AppDelegate : MvxApplicationDelegate
{
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
var window = new UIWindow(UIScreen.MainScreen.Bounds);
var setup = new Setup(this, window);
setup.Initialize();
var startup = Mvx.Resolve<IMvxAppStart>();
startup.Start();
window.MakeKeyAndVisible();
return true;
}
}
iOS Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>XamarinFormsApp</string>
<key>CFBundleIdentifier</key>
<string>com.test.xamarintest</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleIconFiles</key>
<array />
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>9.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIStatusBarHidden</key>
<true/>
</dict>
</plist>
答案 0 :(得分:0)
我发现了这个问题。之所以发生这种情况,是因为我使用了闪屏静止图像而不是故事板方法。我不明白为什么iOS这样控制大小缩放,但解决方案是删除该图像并使用故事板方法启动屏幕。
P.S。感谢Gerald Versluis的回复。它引导我朝着正确的方向前进。