//接口文件
#import <UIKit/UIKit.h>
@interface BNRHypnosisViewController : UIViewController
@end
//实现文件
@implementation BNRHypnosisViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Set the tab bar item's title
self.tabBarItem.title = @"Hypnotize";
UIImage *image = [UIImage imageNamed:@"Hypno.png"];
// Put that image on the tab bar item
self.tabBarItem.image = image;
NSLog(@"!!!%@",self);
}
return self;
}
@end
在UIViewController里面并没有UITabBarItem *tabBarItem 这个属性... 想知道self.tabBarItem是怎么回事???
可以command进去看一下UIKit
从这里可以看到UIViewController有一个UITabBarControllerItem的扩展类,然后在这个扩展类里有一个tabBarItem和tabBarController的成员变量,所以在UIViewController里面是可以调用self.tabBarItem的。
...你贴出来的是UITabBarController.h的内容, 但是UIViewController.h 并没有这个"分类".
1.单独建立一个只有UIViewController的工程,你任然可以在代码里:调用self.tabBarItem.
2.UITabBarController.h中的那是个分类吧,在分类中添加属性???它的实现我怎么找不到...