#mono #xamarin.ios #xamarin #xamarin.forms
#mono #xamarin.ios #xamarin #xamarin.forms
Вопрос:
У меня настроен следующий код. Симулятор выходит из строя, когда я перехожу к представлению. Я пытаюсь вставить в свое приложение средство выбора, которое отображает графики оплаты, такие как еженедельные, полугодовые и годовые.
insurancePicker = new Picker()
{
Title = "Insurance Frequency",
VerticalOptions = LayoutOptions.FillAndExpand
};
insurancePicker.Items.Add("Monthly");
insurancePicker.Items.Add("Semi-Annual");
insurancePicker.Items.Add("Annual");
insurancePicker.SelectedIndexChanged = (sender, args) =>
{
if (insurancePicker.SelectedIndex == -1)
{
}
else
{
}
};
Я добавляю его в представление следующим образом:
Content = new StackLayout{
Spacing = 20, Padding = new Thickness(10, 10, 10, 0),
Children = {
homeValue,
amountOwed,
new StackLayout{
Spacing = 2,
Orientation = StackOrientation.Horizontal,
Children = {
insurance,
insurancePicker
}
},
new StackLayout{
Spacing = 2,
Orientation = StackOrientation.Horizontal,
Children = {
taxes,
taxesPicker
}
},
btnCalculate
}
};
Ниже приведена трассировка стека, которую я получаю:
mono-rt: трассировка стека:
mono-rt: при <0xffffffff>
mono-rt: at (оболочка, управляемая для встроенного) MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_int_int_bool (intptr,intptr,int,int,bool)
mono-rt: при MonoTouch.UIKit.UIPickerView.Выберите (int, int, bool) [0x00010] в /Developer/MonoTouch/Source/monotouch/src/build/compat/UIKit/UIPickerView.g.cs:185
mono-rt: в Xamarin.Формы.Platform.iOS.PickerRenderer.UpdatePicker ()
mono-rt: в Xamarin.Формы.Platform.iOS.PickerRenderer.OnModelSet (Xamarin.Forms.VisualElement)
mono-rt: в Xamarin.Формы.Platform.iOS.ViewRenderer.setModel (Xamarin.Forms.VisualElement)
mono-rt: в Xamarin.Формы.Platform.iOS.RendererFactory.GetRenderer (Xamarin.Forms.VisualElement)
mono-rt: в Xamarin.Формы.Platform.iOS.ViewPackager.HandleChildAdded (Xamarin.Forms.VisualElement)
mono-rt: в Xamarin.Формы.EnumerableExtensions.ForEach (System.Коллекции.Общий.IEnumerable
1<T>,System.Action
1)mono-rt: at Xamarin.Forms.Platform.iOS.ViewPackager.Load ()
mono-rt: at
Xamarin.Forms.Platform.iOS.ViewRenderer.SetUpEventHandlers
(MonoTouch.UIKit.UIView)mono-rt: at Xamarin.Forms.Platform.iOS.ViewRenderer.OnModelSet
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.Platform.iOS.ViewRenderer.SetModel
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.Platform.iOS.RendererFactory.GetRenderer
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.Platform.iOS.ViewPackager.HandleChildAdded
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.EnumerableExtensions.ForEach
(System.Collections.Generic.IEnumerable1<T>,System.Action
1)mono-rt: at Xamarin.Forms.Platform.iOS.ViewPackager.Load ()
mono-rt: at
Xamarin.Forms.Platform.iOS.ViewRenderer.SetUpEventHandlers
(MonoTouch.UIKit.UIView)mono-rt: at Xamarin.Forms.Platform.iOS.ViewRenderer.OnModelSet
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.Platform.iOS.ViewRenderer.SetModel
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.Platform.iOS.RendererFactory.GetRenderer
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.Platform.iOS.ViewPackager.HandleChildAdded
(Xamarin.Forms.VisualElement)mono-rt: at Xamarin.Forms.EnumerableExtensions.ForEach
(System.Collections.Generic.IEnumerable1<T>,System.Action
1)mono-rt: at Xamarin.Forms.Platform.iOS.ViewPackager.Load ()
mono-rt: at Xamarin.Forms.Platform.iOS.PageRenderer.ViewDidLoad ()
mono-rt: at (wrapper runtime-invoke)
object.runtime_invoke_void__this__ (object,intptr,intptr,intptr)mono-rt: at <0xffffffff>
mono-rt: at (wrapper managed-to-native)
MonoTouch.ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper
(intptr,intptr)mono-rt: at MonoTouch.UIKit.UIViewController.get_View () [0x00030]
in
/Developer/MonoTouch/Source/monotouch/src/build/compat/UIKit/UIViewController.g.cs:2232mono-rt: at
Xamarin.Forms.Platform.iOS.NavigationRenderer/d__d.MoveNext
()mono-rt: at
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Startd__d>
(Xamarin.Forms.Platform.iOS.NavigationRenderer/d__damp;)
[0x0001b] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Runtime.CompilerServices/AsyncTaskMethodBuilder_T.cs:107mono-rt: at
Xamarin.Forms.Platform.iOS.NavigationRenderer.OnPushAsync
(Xamarin.Forms.Page,bool)mono-rt: at
Xamarin.Forms.Platform.iOS.NavigationRenderer.PushPageAsync
(Xamarin.Forms.Page,bool)mono-rt: at
Xamarin.Forms.Platform.iOS.NavigationRenderer.OnPushRequested
(object,Xamarin.Forms.NavigationRequestedEventArgs)mono-rt: at Xamarin.Forms.NavigationPage/d__c.MoveNext ()
mono-rt: at
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Startd__c>
(Xamarin.Forms.NavigationPage/d__camp;) [0x0001b] in
/Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Runtime.CompilerServices/AsyncTaskMethodBuilder.cs:107mono-rt: в Xamarin.Формы.Страница навигации.PushAsync (Xamarin.Forms.Page)
mono-rt: в Xamarin.Формы.NavigationPage / NavigationImpl.OnPushAsync (Xamarin.Forms.Page)
mono-rt: в Xamarin.Формы.NavigationProxy.PushAsync (Xamarin.Forms.Page)
mono-rt: в Xamarin.Формы.NavigationProxy.OnPushAsync (Xamarin.Forms.Page)
mono-rt: в Xamarin.Формы.NavigationProxy.PushAsync (Xamarin.Forms.Page)
mono-rt: в FNBMortgageForms.Общий доступ.Домашняя страница.m__1 (объект, система.EventArgs) [0x00010] в /Users/Projects/FNBMortgageForms/FNBMortgageForms/Views/HomePage.cs:59
mono-rt: в Xamarin.Формы.Кнопка.SendClicked ()
mono-rt: в Xamarin.Формы.Platform.iOS.ButtonRenderer/<>c__DisplayClass1.b__0 (объект, система.EventArgs)
mono-rt: при MonoTouch.UIKit.UIControlEventProxy.Активировано () [0x00007] в /Developer/MonoTouch/Source/monotouch/src/UIKit/UIControl.cs:33
mono-rt: при (вызове среды выполнения оболочки) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr)
mono-rt: при <0xffffffff>
mono-rt: at (оболочка, управляемая для встроенного) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr)
mono-rt: при MonoTouch.UIKit.UIApplication.Main (строка[],строка,строка) [0x0004c] в /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
mono-rt: в FNBMortgageForms.iOS.Application.Main (строка []) [0x00008] в /Users/Projects/FNBMortgageForms/iOS/Main.cs:17
mono-rt: at (вызов среды выполнения оболочки) .runtime_invoke_void_object (object,intptr,intptr,intptr)
mono-rt: собственный stacktrace:
mono-rt:
Комментарии:
1. у вас есть элементы, заполненные для вашего
taxesPicker
?2. Вы были правы. Произошла ошибка копирования вставки. Я изменил все, чтобы использовать taxesPicker, кроме той части, где вы добавляете элементы. Спасибо!
3. если это помогло, я дам правильный ответ тогда 🙂
Ответ №1:
Вы заполняете элементы для своего insurancepicker
, но я не вижу, чтобы вы заполняли taxespicker
. Отчет об ошибках не дает вам этой информации, но для работы a требуется хотя бы один набор элементов Picker
.