проблема загрузки просмотра iphone - PullRequest
0 голосов
/ 22 ноября 2010

hii, там

Я делаю приложение с вкладками. В этом приложении на первой вкладке я использую навигацию, поэтому при переходе к другому представлению и сразу, чем к другой вкладке.И снова, когда я иду на первую вкладку, она показывает мне вид навигации, я хочу показать первый вид вкладки.

Кто-то может сказать мне, как я могу управлять этими вещами ..

Ответы [ 3 ]

0 голосов
/ 30 декабря 2010

Это основная цель приложения с вкладками, чтобы все ваши представления сохранялись до тех пор, пока они не будут перемещены.

Если вы хотите, чтобы начальный вид был там, когда вы нажимаете на панель вкладок, тогда на каждом представлении панелей вкладок вы должны кодировать для перетаскивания своего представления на первой вкладке в контроллер rootview для этой вкладки.

СЧАСТЛИВОЕ ИКОДИРОВАНИЕ ...

0 голосов
/ 30 декабря 2010

Как я понимаю, у вас есть NavigationController на вашей первой вкладке вашего TabBarController и, когда вы нажимаете на первую вкладку, вы хотите, чтобы ваш NavigationController вернулся к своему корневому контроллеру представления.

Прежде всего, имейте в виду, что это не стандартное поведение TabBarController, и оно может быть немного раздражающим для ваших пользователей. Пользователь может вернуться к корневому представлению NavigationController внутри TabBarController, коснувшись вкладки во второй раз.

Зная это, если вы все еще хотите изменить поведение по умолчанию вашего TabBarController, вот что вы можете сделать:

Установите класс AppDelegate в качестве делегата вашего UITabBarController. Он должен реализовывать протокол UITabBarControllerDelegate, и вы должны написать что-то вроде этого:

[myUITabBarController setDelegate:self];

внутри вашего приложения didFinishLaunchingWithOptions: метод.

Затем внедрите этот метод в свой AppDelegate.

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    if ([tabBarController selectedIndex] == kMyNavigationControllerIndex) {
        [(UINavigationController *)[tabBarController selectedViewController] popToRootViewControllerAnimated:NO];
    }
}

, где kMyNavigationControllerIndex - это постоянное значение, содержащее индекс NavigationViewController, который вы хотите изменить (т. Е. 0, если это первая вкладка).

Надеюсь, это поможет.

0 голосов
/ 22 ноября 2010

Вы спрашиваете, как переключаться с одной вкладки на другую в коде?Если это так, то это выглядит так:

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];

[appDelegate tabcontroller].selectedIndex = [yourIntegerIndexHere];

Где написано «YourAppDelegate», очевидно, используйте имя вашего фактического делегата приложения.

Где написано «yourIntegerIndexHere», это целоеиндекс вкладки, на которую вы хотите переключиться.Самая левая вкладка - 0.

...