Я действительно застрял, я не могу правильно перейти к новому UIViewController с помощью жеста касания при нажатии на UIImageView. Я использую раскадровки MonoTouch. Если я создам кнопку на моем первом контроллере представления и перетащу ее на мой второй контроллер представления с помощью нажатия, навигация будет работать правильно, и все элементы управления на моем втором контроллере представления будут созданы. Когда я использую приведенный ниже код в обработчике жестов касания, он переходит ко второму контроллеру представления, но все мои элементы управления имеют значение null, и если я не пытаюсь получить доступ к любому из них, экран просто черный.
Мне пришлось перегрузить конструктор для моего второго контроллера представления, чтобы иметь возможность создать его экземпляр без значений, что, я думаю, может быть проблемой, но я не знаю, что передать исходному конструктору, поскольку все примеры я можно найти, перемещаются из табличных навигаторов и т. д.
вот код в первом контроллере представления:
[Export("HandleImageTap")]
public void HandleImageTap(UITapGestureRecognizer recogniser)
{
ViewControllerTwo myViewController2 = new ViewControllerTwo();
myViewController2.SelectedID = 2;
NavigationController.PushViewController(myViewController2, true);
}
Вот конструктор во втором контроллере представления:
public partial class ViewControllerTwo : UIViewController
{
public int SelectedID { get; set; }
public ViewControllerTwo (IntPtr handle) : base (handle)
{
}
public ViewControllerTwo () : base (NSObjectFlag.Empty)
{
}
Если бы кто-то мог помочь, я был бы бесконечно благодарен, так как я действительно застрял и был примерно 1/2 дня!
Большое спасибо,
Давок
Изменить: добавлено: base (NSObjectFlag.Empty) во второй конструктор, так как это не изменило поведение.