牛骨文教育服务平台(让学习变的简单)

UITabBarController详解(二)UITabBa

@首先要实现协议

//设置代理

tabBarController.delegate =self; 

//UINavigationController nav tabBarController.moreNavigationController;

//[nav setNavigationBarHidden:YES animated:YES];

//控制哪些ViewController的标签栏能被点击

-(BOOL)tabBarController:(UITabBarController)tabBarControllershouldSelectViewController:(UIViewController)viewController{

//代表HMT_CViewController这个View无法显示,无法点击到它代表的标签栏

if([viewControllerisKindOfClass:[HMT_CViewControllerclass]]) {
    returnNO;
}
    returnYES;
}

// 选中哪个标签栏,一个监控作用吧

(void)tabBarController:(UITabBarController *)tabBarControllerdidS    electViewController:(UIViewController*)viewController{
}

// More view controller将要开始编辑
(void)tabBarController:(UITabBarController)tabBarControllerwillBe    ginCustomizingViewControllers:(NSArray)viewControllers{
}

// More view controller将要结束编辑

(void)tabBarController:(UITabBarController)tabBarControllerwillEn    dCustomizingViewControllers:(NSArray)viewControllers              changed:(BOOL)changed{
}

// More view controller编辑

(void)tabBarController:(UITabBarController)tabBarControllerdidEnd    CustomizingViewControllers:(NSArray)viewControllers                   changed:(BOOL)changed{
}

#import "HMT-AViewController.h"

#import "HMTModalShowViewController.h"

@interfaceHMT_AViewController ()

@end

@implementation HMT_AViewController

    (void)viewDidLoad

{

[superviewDidLoad];

self.view.backgroundColor = [UIColorredColor];

//创建一个按钮

UIButton button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];

button.frame =CGRectMake(100,100,100, 100);

[button addTarget:self action:@selector(modalShow)forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:button];

// Do any additional setup after loading the view.

}

(void)modalShow{
HMTModalShowViewController modalShowVC = [[HMTModalShowViewController alloc]init];

//模态视图控制器呈现出来时候的视觉效果

modalShowVC.modalTransitionStyle =UIModalTransitionStyleCrossDissolve;

/*

UIModalTransitionStyleCoverVertical = 0, //默认,由下往上

UIModalTransitionStyleFlipHorizontal,//水平转动效果

UIModalTransitionStyleCrossDissolve,//渐变效果

UIModalTransitionStylePartialCurl,//书页往上翻动效果

*/

//模态视图控制器呈现方式,默认全屏

modalShowVC.modalPresentationStyle =UIModalPresentationFullScreen;

/* 

UIModalPresentationFullScreen = 0,

UIModalPresentationPageSheet,

UIModalPresentationFormSheet,

UIModalPresentationCurrentContext,

UIModalPresentationCustom,

UIModalPresentationNone = -1,

*/

UINavigationController * modalShowNC = [[UINavigationController alloc] initWithRootViewController:modalShowVC];
//推出模态视图控制器

[self presentViewController:modalShowNC animated:YES completion:^{
NSLog(@"hello world");
}];
}

#import "HMTModalShowViewController.h"

@interfaceHMTModalShowViewController ()

@end

@implementation HMTModalShowViewController
(void)viewDidLoad
{
    [superviewDidLoad];

// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor yellowColor];
//利用UINavigationController来实现退出控制器

UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(modalDismiss)];
self.navigationItem.leftBarButtonItem = barButton;

self.navigationItem.title =@"humingtao";
//创建一个按钮来实现退出控制器
/*UIButton button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
button.frame = CGRectMake(100, 100, 100, 100);
[button addTarget:self action:@selector(modalDismiss) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
*/
}
(void)modalDismiss{

//退出模态视图控制器

[self dismissViewControllerAnimated:YES completion:^{ 
        NSLog(@"退出GoodBye");
    }];
}
@end