当前位置:Gxlcms > html代码 > 设置UITabBar自己为代理实现页面的动画转场(MS)_html/css_WEB-ITnose

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

时间:2021-07-01 10:21:17 帮助过:21人阅读

#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)

人气教程排行