设置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)
@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)
相关文章推荐
- 不同平台(mac、windows—wpf、web、ios、android)下实现页面的转场动画
- Magento——利用购物车促销规则(Shopping Cart Price Rules)实现自己的功能第二章: 购物车页面判断设置的规则和动作
- 实现两个页面的转场动画
- UI 设置代理 实现视图控制器间的传值操作
- js实现自动设置框架载入页面高度的问题
- 混合app开发:自己实现的页面历史记录管理模块,解决页面"回退难"的问题
- WOW.js+animate 帮助你实现滚动页面动画效果
- 一步步实现自己的框架系列(四):页面与页面服务的创建
- 给自己的网站定义一个爱的404(设置404公益页面)
- 用wow.js实现滚动页面时触发CSS 动画效果的插件
- HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理
- 一行代码实现自定义转场动画--iOS自定义转场动画集
- Android Activity/活动页面切换实现动画效果
- UITabBarController 页面切换动画
- js实现打印、页面设置、打印预览功能
- 设置ViewPager的切换动画简单的实现
- JavaScript实现页面遮盖层(带动画效果)
- NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现-
- Android-抖动动画、手机震动和设置成前台进程的实现