MonoTouch не может открыть новое окно из AccessoryButtonTapped - PullRequest
0 голосов
/ 29 ноября 2011

Как открыть новое окно с помощью кнопки AccessoryButtonTapped с моего BasisViewController.Прямо сейчас у меня есть это для открытого, но проблема в NavigationController, который я не могу найти, потому что мне присущ UITableViewSource.

Opskrift ops = new Opskrift(item.ImageName, item.Name, item.optionTxt, item.SubHeading)
this.NavigationController.PushViewController(this.opskrift, true);

Если я использую ops.NavigationController.PushViewController(this.opskrift, true);

, я получаю ссылку на объект, не установленную для экземпляра исключения объекта.

1 Ответ

3 голосов
/ 29 ноября 2011

Дайте вашему унаследованному классу UITableViewSource доступ к вашему контроллеру, передав его через конструктор:

public class MyTableSource : UITableViewSource
{

    private BasisViewController controller;
    public MyTableSource(BasisViewController parentController)
    {
        this.controller = parentController;
    }

    //use like this in a method:
    //this.controller.NavigationController.PushViewController(opskrift, true);
}

Свойство NavigationController вашего контроллера Opfskrift возвращает нулевое значение, поскольку оно не является частью стека контроллера навигации при его инициализации (= не был «нажат» в навигационном контроллере).Конечно, BasisViewController также должен принадлежать контроллеру навигации, чтобы его свойство NavigationController содержало что-то отличное от нуля.

...