Как я могу нажать контроллер панели вкладок после нажатия кнопки в представлении в Objective-C?

У меня есть кнопка в представлении, я хочу добавить контроллер панели вкладок после нажатия кнопки. Как я могу это сделать?


person Hacer sengul Akac    schedule 10.01.2012    source источник


Ответы (3)


во-первых, я не думаю, что использование панели вкладок в качестве подвида - хорошая идея.

но если вы все еще хотите это сделать, есть много способов обойти это

один из них - с помощью modalview

сначала вы должны добавить этот код после того, как сделаете кнопку

[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];

он прикрепляет прослушиватель событий к кнопке, которая у вас есть

затем вы делаете функцию события для нажатия панели вкладок

-(void)buttonTapped: (UIButton *)sender
{
        YourTabBarClass *myTabBar = [[YourTabBarClass alloc]initWithNibName:nil bundle:nil];
        myTabBar.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

        [self presentModalViewController:myTabBar animated:YES];
}

и не забудьте импортировать заголовочный файл класса tabbarcontroller в ваш .m

#import "YourTabBarClass.h"

надеюсь, что это поможет;)

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

[self resignFirstResponder];
    [self dismissModalViewControllerAnimated:YES];
person Yonathan Jm    schedule 11.01.2012

-(IBAction)BtnPressed:(id)sender
{
    UIViewController *searchViewController = [[[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil] autorelease];
searchViewController.title = @"Search";

UIViewController *exploreViewController = [[[SearchViewController alloc] initWithNibName:@"ExploreViewController" bundle:nil] autorelease];
exploreViewController.title = @"Explore";

UIViewController *dialerViewController = [[[DialerViewController alloc] initWithNibName:@"DialerViewController" bundle:nil] autorelease];
dialerViewController.title = @"Dialer";

self.tabBarController = [[[UITabBarController alloc]init]autorelease];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:searchViewController, exploreViewController, dialerViewController, nil];

[self presentModalViewController:tabBarController animated:YES];
}

Не забудьте создать соответствующие nib-файлы (dialerViewController.xib, SearchViewController.xib, DialerViewController.xib) и сделать эти представления высотой до 411 пикселей (это для вас)

спасибо

person Nikhil Dinesh    schedule 01.05.2012

установите действие кнопки, затем используйте это

    self.tabBarController?.selectedIndex = (your viewcontroller) index

Пример:

    self.tabBarController?.selectedIndex = 3
person Prabakaran M    schedule 27.12.2019