Раздел Monotouch UITabBarController, показывающий модальное представление

Я хочу показать модальное представление, когда я касаюсь раздела моего UITabBarController или, возможно, uipopoverbackgroundview, подобного тому, который включен в приложение GroupMe. (изображение включено для справки).

http://wpuploads.appadvice.com/wp-content/uploads/2011/09/groupme-iphone-app-300x452-199x300.jpg

Знаете ли вы способ получить это в монотач вместо стандартной загрузки навигационного контроллера с контроллером представления?

... и теперь у меня есть дополнительное осложнение, потому что я не могу использовать обходной путь «поместить украшенную кнопку поверх панели вкладок», потому что параметр имеет номер 7 на моей панели вкладок, поэтому он отображается в разделе «Дополнительно» элемента управления. .. Любая помощь будет оценена.


person JMGH    schedule 06.03.2012    source источник


Ответы (1)


Я как бы реализовал что-то подобное, используя всплывающее окно и диалоговое окно.

У меня есть barbuttonitem, который при нажатии всплывает с раскрывающимся списком, чтобы вы могли выбирать между разными компаниями. myPopController — это переменная уровня класса, а затем лямбда-выражение внутри строкового элемента перенаправляется на определенную функцию.

Код ниже

void HandleBtnCompanyhandleClicked (object sender, EventArgs e)
    {

        if(myPopController != null)
        {
            myPopController.Dismiss(true);
            myPopController.Dispose();
        }

        //create the view
        UIView contentView = new UIView();
        contentView.Frame = new RectangleF(new PointF(0,0), new SizeF(320f, 240f));
        //create the view controller
        UIViewController vc = new UIViewController();
        vc.Add(contentView);
        //set the popupcontroller
        myPopController = new UIPopoverController(vc);
        myPopController.PopoverContentSize = new SizeF(320f, 240f);

        //Add the elements to the rootelement for the companies
        // TODO: change to a DB read eventually
        RootElement rt = new RootElement(""){
            new Section ("Requests") {
                new StringElement ("ABC Company",() => {companyTapped("ABC Company");}),
                new StringElement ("Northwind", () => {companyTapped("Northwind");}),
                new StringElement ("Initrode", () => {companyTapped("Initrode");}),
                new StringElement ("Foo Bars Group", () => {companyTapped("Foo Bars Group");}),
                new StringElement ("Widget Corp", () => {companyTapped("Widget Corp");}),
            }
        };

        //create the DVC and add to the popup
        DialogViewController dvc = new DialogViewController(rt);
        contentView.AddSubview(dvc.View);
        myPopController.PresentFromBarButtonItem(btnCompany,UIPopoverArrowDirection.Up,true);
    }
person Jabsy    schedule 26.03.2012