Панель вкладок, перезагрузить каждый раз, когда вкладка нажата - PullRequest
5 голосов
/ 10 мая 2011

Я создаю приложение, в котором у меня есть пять вкладок. Мне нужно перезагрузить каждый контроллер каждый раз, когда нажата вкладка.

Ответы [ 6 ]

14 голосов
/ 10 мая 2011

Введите код, который вы хотите перезагрузить, в представлении появится или в представлении появилось все представление.

Всего наилучшего.

3 голосов
/ 10 мая 2011

Пример:

   // AppDelegate ( and <UITabBarControllerDelegate> )
   // Creation tabbar and controllers               
    UIViewController* myController1 = [[UIViewController alloc] init] autorelease];
    UINavigationController* nav1 = [[[UINavigationController alloc] initWithRootViewController:myController1] autorelease];

    UIViewController* myController2 = [[UIViewController alloc] init] autorelease];
    UINavigationController* nav2 = [[[UINavigationController alloc] initWithRootViewController:myController2] autorelease];

    NSArray *array = [NSArray arrayWithObjects: myController1, myController2, nil];

    UITabBarController* tab = [[[UITabBarController alloc] init] autorelease];
    tab.viewControllers = array;
    tab.delegate = self; // <-- don't forget set delegate for TabBarController


    // TabBarController Delegate methods   
    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
    {
            // Reload selected VC's view
        [viewController.view setNeedsDisplay];
    }
2 голосов
/ 08 февраля 2013
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    //other codes

    [self.tabBarController setDelegate:self]

    //other codes
    }

// UITabBarControllerDelegate method.
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    if ([viewController respondsToSelector:@selector(reloadDataTemp)]) {
        [(YourViewController *)viewController reloadData];
    }
}
0 голосов
/ 10 мая 2011

Я надеюсь, что вы говорите о веб-просмотре, который веб-просмотр должен перезагружать каждый раз, когда хорошо просматривается элемент панели вкладок, просто выполните [перезагрузка веб-просмотра] в делегате панели вкладок.

0 голосов
/ 10 мая 2011

если вы используете uitableview, используйте это

[tableview reloaddata];
0 голосов
/ 10 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...