У меня есть кнопка в представлении, я хочу добавить контроллер панели вкладок после нажатия кнопки. Как я могу это сделать?
Как я могу нажать контроллер панели вкладок после нажатия кнопки в представлении в Objective-C?
Ответы (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];
-(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 пикселей (это для вас)
спасибо
установите действие кнопки, затем используйте это
self.tabBarController?.selectedIndex = (your viewcontroller) index
Пример:
self.tabBarController?.selectedIndex = 3