Раздел Monotouch UITabBarController, показывающий модальное представление - PullRequest
1 голос
/ 06 марта 2012

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

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

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

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

1 Ответ

0 голосов
/ 26 марта 2012

Я вроде как реализовал что-то вроде этого, используя popover и Dialog.

У меня есть 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);
    }
...