欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

设置UITabBar自己为代理实现页面的动画转场(MS)_html/css_WEB-ITnose

程序员文章站 2022-04-23 20:39:57
...
#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)