[self.window2 makeKeyAndVisible];
[self.window1 makeKeyWindow];
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"test" bundle:nil];
UIViewController *vc =[sb instantiateViewControllerWithIdentifier:@"grayVc"];
self.window.rootViewController = vc;
/ 创建子控制器
HMOneViewController *one = [[HMOneViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:one];
HMOneViewController *vc1 = [[HMOneViewController alloc] init];
1、 [nav addChildViewController:vc1];
2、 [nav pushViewController:vc1 animated:YES];
- (IBAction)backHome {
[self.navigationController popToViewController:self.navigationController.viewControllers[0] animated:YES];
}
self.navigationItem.title = @"控制器1控制器制";
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back)];
}
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menu_icon_bulb"]];
* (NSString *)digView:(UIView *)view
{
if ([view isKindOfClass:[UITableViewCell class]]) return @"";
NSMutableString *xml = [NSMutableString string];
[xml appendFormat:@"<%@ frame=\"%@\"", view.class, NSStringFromCGRect(view.frame)];
if (!CGPointEqualToPoint(view.bounds.origin, CGPointZero)) {
[xml appendFormat:@" bounds=\"%@\"", NSStringFromCGRect(view.bounds)];
}
if ([view isKindOfClass:[UIScrollView class]]) {
UIScrollView *scroll = (UIScrollView *)view;
if (!UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsetsZero, scroll.contentInset)) {
[xml appendFormat:@" contentInset=\"%@\"", NSStringFromUIEdgeInsets(scroll.contentInset)];
}
}
if (view.subviews.count == 0) {
[xml appendString:@" />"];
return xml;
} else {
[xml appendString:@">"];
}
for (UIView *child in view.subviews) {
NSString *childXml = [self digView:child];
[xml appendString:childXml];
}
[xml appendFormat:@"</%@>", view.class];
return xml;
}
注: 重写时一定要调用父类的
/**
* 当控制器的view即将要显示时调用
*/
* (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%@---%@", self.class ,@"viewWillAppear");
}
/**
* 当控制器的view已经显示完毕调用
*/
* (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
/**
* 当控制器的view加载完毕调用
*/
* (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@--%@", self.class ,@"viewDidLoad");
}
/**
* 当控制器的view即将要消失时调用
*/
* (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSLog(@"%@---%@", self.class ,@"viewWillDisappear");
}
/**
* 当控制器的view已经消失完毕调用
*/
* (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
NSLog(@"%@---%@", self.class ,@"viewDidDisappear");
}
-(void)dealloc {
NSLog(@"%@---%s", self.class ,__FUNCTION__);
}
/**
* 当控制器view即将要卸载时调用
*/
- (void)viewWillUnload {
[super viewWillUnload];
NSLog(@"%@---%s", self.class ,__FUNCTION__);
self.view = nil;
}
/**
* 当控制器view卸载完毕时调用
*/
- (void)viewDidUnload {
[super viewDidUnload];
NSLog(@"%@---%s", self.class ,__FUNCTION__);
}
/**
* 当控制器收到内存警告时调用
*/
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
NSLog(@"%@--didReceiveMemoryWarning",self.class);
}