Вручную добавьте больше вкладок в UITabController с раскадровкой и Monotouch - PullRequest
2 голосов
/ 21 ноября 2011

В настоящее время я использую новый подход iOS 5 Storyboard для создания приложения с вкладками в Monotouch.Я разработал два моих представления вкладок в XCode с раскадровкой и связал их соответственно с Контроллером панели вкладок.Я также хочу разработать (в Xcode) третий вид вкладок, который будет разделен между двумя дополнительными вкладками.Я хочу использовать один и тот же макет, но отображать разные данные в зависимости от того, какая вкладка выбрана (например, «Популярные» и «Недавние», которые будут иметь одинаковый макет, но разные данные).теперь я решил добавить вкладку вручную дважды после добавления вкладок на основе раскадровки.Как мне сделать это с подходом раскадровки?Я не уверен, где в коде это сделать, так как загрузка Storyboard кажется довольно прозрачной (то есть никакого кода в AppDelegate, который я вижу).Или есть другой (более простой / лучший) способ разделения представления между двумя вкладками с использованием подхода раскадровки?

1 Ответ

0 голосов
/ 15 декабря 2011

Я не знаю Monotouch, но вот как я это сделал в Objective-c.Я не нашел ничего по этой теме, поэтому, если что-то не так, люди, пожалуйста, прокомментируйте :) Кстати, я использую ARC, поэтому я не управляю памятью вручную!То, что мне нужно было сделать, это то, что вы, имея панель вкладок, загружаете один и тот же viewController, но загружаете разные данные для каждой вкладки.* Вы видите, что я звоню initHome и initVisitor, когда загружаю свои два TeamViewController, вот код об этом.

TeamViewController.h

@interface TeamViewController : UIViewController
{
    enum
    {
        HOME,
        VISITOR
    };

    int team;
}

TeamViewController.m

- (id)initHome
{
    team = HOME;

    return self;    
}

- (id)initVisitor
{
    team = VISITOR;

    return self;    
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    if(team == HOME)
    {
        label.text = @"home data";
    }
    else if(team == VISITOR)
    {
        label.text = @"visitor data";
    }
}

Я не знаю, насколько хорошо вы можете перевести это в свой проект, но я надеюсь, что вы получите общее представление об этом :)

Если вам нужно прочитать немного о том, как получить доступ к первому контроллеру представления с помощью раскадровки: http://developer.apple.com/library/ios/#releasenotes/Miscellaneous/RN-AdoptingStoryboards/_index.html#//apple_ref/doc/uid/TP40011297 Есть раздел под названием " Доступ к контроллеру первого вида "

...