Использование последней версии MvvmCross v.6.4.2:
У меня есть несколько видов в моем основном проекте, которые отображаются в виде вкладок. В моем проекте iOS Platform есть представление, которое мне также нужно отобразить как вкладку. Когда я добавляю MvxViewController<>
из моего iOS проекта платформы, приложение вылетает. В частности, если я не установлю представление как вкладку через [MvxTabbedPagePresentation]
, то представление будет отображаться нормально, оно просто не будет отображаться как вкладка. Я попытался MvxTabbedViewController<>
с тем же результатом, нулевое исключение, выданное в:
в MvvmCross.Forms.Presenters.MvxFormsPagePresenter.CreatePage (System.Type viewType, MvvmCross.ViewModels.MvxViewModelReRe Атрибут MvvmCross.Presenters. Запрос .ViewModels.MvxViewModelRequest, атрибут MvvmCross.Forms.Presenters.Attributes.MvxPagePresentationAttribute, System.Boolean closeModal, System.Boolean closePlatformViews, System.Boolean showPlatformViews) [0x000a8 \ m. \ MvxFormsPagePresenter.cs: 140 в MvvmCross.Forms.Presenters.MvxFormsPagePresenter.ShowTabbedPage (представление System.Type, MvvmCross.Forms.Presenters.Attributes.MvxTabbedPagePresentationAode_ModemDMMSMTM) \ a \ 1 \ s \ MvvmCross.Forms \ Presenters \ MvxFormsPagePresenter.cs: 571 в MvvmCross.Forms.Platforms. Ios .Presenters.MvxFormsIosViewPresenter.Show (MvvmCross.ViewModels.MvxViewMell: MExxViewMode: 0: 0) \ 1 \ s \ MvvmCross.Forms \ Platforms \ Ios \ Presenters \ MvxFormsIosViewPresenter.cs: 42 в MvvmCross.Base.MvxMainThreadAsyncDispatcher + <> c__DisplayClass1_0.b__0 () [0x00022] в D: \ m \ sv MvxMainThreadAsyncDispatcher.cs: 27 в System.Runtime.CompilerServices.AsyncMethodBuilderCore + <> c .b__7_0 (состояние System.Object) [0x00000] в /Library/Frameworks/Xamarin.iOSersrac .iOS / mcs / class / reference source / mscorlib / system / runtime / compilerservices / AsyncMethodBuilder.cs: 1021 в Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] в /Library/Frameworks/Xamarin.131026ions .0.13 / src / Xamarin.iOS / Foundation / NSAction.cs: 178 --- Трассировка конца стека из предыдущего местоположения, в котором было сгенерировано исключение ---
Vi ew на самом деле виден в течение короткой секунды, прежде чем ловится исключение, поэтому он находит .xib и правильно рендерится. Судя по исключению, он не может найти объект page или pageAttribute на 115?
if (string.IsNullOrEmpty(page.Title) && !string.IsNullOrEmpty(pageAttribute.Title))
Вот как выглядит ViewController в проекте iOS:
/// take this attribute out and it renders fine, just not as a tab:
[MvxTabbedPagePresentation(WrapInNavigationPage = false, Position = TabbedPosition.Tab, Animated = false, Title = "Please Work...")]
public partial class TestViewController : MvxViewController<TestViewModel>
{
public TestViewController() : base("TestViewController", null)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
}
}
Есть идеи? Я думаю, что у меня все настроено правильно, так как мои другие виды отображаются нормально, проблема только в этом iOS -specifi c. Заранее спасибо!