佚名通过本文主要向大家介绍了自定义了一个导航控制器当父类用,然后视图控制器上定义当barbuttonitem就看不见了。等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 自定义了一个导航控制器当父类用,然后视图控制器上定义当barbuttonitem就看不见了。
描述:
2--其中一个导航控制器中的视图控制器的viewdidload。
不单单是这一个又问题,其他几个继承与父类当导航控制中当试图控制器,在viewdidload中写当self.title 也不起作用了。
3----下面是继承前和继承后的对比图

描述:
如题:有一个工程,后来自定义了一个uinavigationcontroller当父类用,然后更改几个navigationcontroller继承与这个父类,viewcontroller上定义当barbuutonitem就看不见了,是啥情况啊???
父类的名字是JCNavController,让几个导航杭控制器继承于JCNavController,然后导航控制器上的视图控制器,定义的barbuutonitem就看不见了。吧导航控制器改称不继承父类,视图控制器上的控件又可见了。
代码:
1--JCNavController建立完之后只增加连以下代码。是在.m实现文件中写的。
//只有在第一次调用都时候执行
+(void)initialize
{
UINavigationBar *navbar = [UINavigationBar appearance];
[navbar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
}
//1-重写push方法
-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
//每当调用pushViewController的时候,都自动隐藏tabbar
viewController.hidesBottomBarWhenPushed = YES;
}
2--其中一个导航控制器中的视图控制器的viewdidload。
不单单是这一个又问题,其他几个继承与父类当导航控制中当试图控制器,在viewdidload中写当self.title 也不起作用了。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
// self.title = @"合买跟单";
//1-添加一个button
JCAllCaiZhongButton *btn = [[JCAllCaiZhongButton alloc]init];
btn.frame = CGRectMake(120, 0, 100, 44);
[btn setTitle:@"全部彩种" forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamed:@"YellowDownArrow.png"] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.navigationController.navigationBar addSubview:btn];
//2-添加一个view
UIView *xxView = [[UIView alloc]init];
xxView.frame = CGRectMake(0, 0, 320, 200);
xxView.backgroundColor = [UIColor purpleColor];
//默认xxview的hiden是yes
xxView.hidden = YES;
[self.view addSubview:xxView];
self.xxView = xxView;
}
3----下面是继承前和继承后的对比图

