Heim > Artikel > Web-Frontend > 设置UITabBar自己为代理实现页面的动画转场(MS)_html/css_WEB-ITnose
#import "ViewController.h"
@interface ViewController ()
{
UIView * _view0;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 设置屏幕背景色
self.view.backgroundColor = [UIColor whiteColor];
// 加载view
[self _loadViews];
// 加载tabbar
[self _loadTabBar];
}
- (void)_loadTabBar{
// 初始化UITabBar
UITabBar * tabBar = [[UITabBar alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height - 49, self.view.frame.size.width, 49)];
tabBar.delegate = self;// 设置自己为代理
// 初始化barItem
UIImage * imgForItem1 = [UIImage imageNamed:@"icon_cinema"];
UIImage * imgForItem2 = [[UIImage imageNamed:@"icon_cinema@2x"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem * item1 = [[UITabBarItem alloc]initWithTitle:@"Cinema" image:imgForItem1 selectedImage:imgForItem2];
item1.tag = 100;
UITabBarItem * item2 = [[UITabBarItem alloc]initWithTitle:@"2" image:[UIImage imageNamed:@"more_select_setting"] tag:101];
UITabBarItem * item3 = [[UITabBarItem alloc]initWithTitle:@"3" image:[UIImage imageNamed:@"movie_cinema"] tag:102];
UITabBarItem * item4 = [[UITabBarItem alloc]initWithTitle:@"Movie" image:[UIImage imageNamed:@"msg_new"] tag:103];
UIImage * img1ForItem5 = [UIImage imageNamed:@"start_top250"];// 未设置保持原色
UIImage * img2ForItem5 = [[UIImage imageNamed:@"start_top250"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//保持原色,在图片初始化时实现
UITabBarItem * item5 = [[UITabBarItem alloc]initWithTitle:@"9" image:img1ForItem5 selectedImage:img2ForItem5];
// NSBackgroundColorAttributeName
// 用字典设置item5的字体颜色
NSDictionary * dict = @{NSFontAttributeName:[UIFont systemFontOfSize:18],NSForegroundColorAttributeName:[UIColor yellowColor]};
// 设置高亮状态的字体及颜色
[item5 setTitleTextAttributes:dict forState:UIControlStateHighlighted];
NSArray * array = @[item1,item2,item3,item4,item5];
tabBar.items = array;
tabBar.selectedItem = array[0];// 默认选中
[self.view addSubview:tabBar];
}
- (void)_loadViews{
UIView * view1 = [[UIView alloc ]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-49)];
view1.backgroundColor = [UIColor redColor];
view1.tag =200;
UIView * view2 = [[UIView alloc ]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height -49)];
view2.backgroundColor = [UIColor yellowColor];
view2.tag =201;
UIView * view3 = [[UIView alloc ]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-49)];
view3.backgroundColor = [UIColor blueColor];
view3.tag =202;
UIView * view4 = [[UIView alloc ]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-49)];
view4.backgroundColor = [UIColor greenColor];
view4.tag =203;
UIView * view5 = [[UIView alloc ]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-49)];
view5.backgroundColor = [UIColor grayColor];
view5.tag =204;
_view0 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 49)];
[self.view addSubview:_view0];
[_view0 addSubview:view5];
[_view0 addSubview:view3];
[_view0 addSubview:view4];
[_view0 addSubview:view2];
[_view0 addSubview:view1];
}
#pragma mark - UITabBarDelegate
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
NSInteger tag = item.tag;
UIView * view = [self.view viewWithTag:tag+100];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:_view0 cache:YES];
[_view0 bringSubviewToFront:view];
[UIView commitAnimations];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)设置UITabBar自己为代理实现页面的动画转场(MS)