您的位置:首页 > 产品设计 > UI/UE

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

2015-04-22 12:54 330 查看
#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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: