注意这里是:Tab Bar 不是Tab Bar Controller. Tab bar是继承UIView,所以可以添加到ViewController里。是View就可以add到另一个View上去。Tab Bar Controller是新建View视图。
XX.h 里需要定义UITabBar,并且要引用协议 UITabBarDelegate.
@interface LoginViewController :UIViewController<UITabBarDelegate>
{
UITabBar *tabbar;
}
@property (nonatomic, retain) UITabBar *tabbar;
XX.m
@synthesize tabbar;
- (void)viewDidLoad
{
//加载Tab bar
CGRect footFrame = CGRectMake(0, 420, 320, 60);
tabbar = [[UITabBar alloc]initWithFrame:footFrame];
UITabBarItem *item1 = [[UITabBarItem alloc]initWithTabBarSystemItem:1 tag:0];
UITabBarItem *item2 = [[UITabBarItem alloc]initWithTabBarSystemItem:2 tag:1];
NSArray *items = [[NSArray alloc]initWithObjects:item1,item2, nil];
[tabbar setItems:items animated:YES];
[item1 release];
[item2 release];
[items release];
[self.view addSubview:tabbar];
tabbar.delegate = self;//指定其代理方法,不然方法不起作用
[tabbar release];
}
- (void)tabBar:(UITabBar *)tabbar didSelectItem:(UITabBarItem *)item
{
NSLog(@"Selected is %d",item.tag);
NSString *msg = [[NSString alloc]initWithFormat:@"selected is %d",item.tag];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"a" message:msg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[msg release];
[alert release];
}