图片翻转效果的实现
2015-08-21 16:06
429 查看
#pragma mark - Private Method
- (void)loadListView
{ //状态栏20
导航栏44 tabar49
_listView = [[UITableView
alloc] initWithFrame:CGRectMake(0, 0,
kDeviceWidth,
kDeviceHeight-20-44-49)
style:UITableViewStylePlain];
_listView.backgroundColor = [UIColor
colorWithPatternImage:[UIImage
imageNamed:@"bg_main"]];
_listView.indicatorStyle =
UIScrollViewIndicatorStyleWhite;//
默认黑色风格
_listView.dataSource =
self;
_listView.delegate =
self;
[self.view
addSubview:_listView];
}//
加载表视图
- (void)loadPosterView
{
// _poserView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kDeviceWidth, kDeviceHeight-20-44-49)];
// _poserView.backgroundColor = [UIColor purpleColor];
// [self.view addSubview:_poserView];
//
_poserView = [[PosterView
alloc] initWithFrame:CGRectMake(0, 0,
kDeviceWidth,
kDeviceHeight-20-44-49)];
[self.view
addSubview:_poserView];
}//
加载海报视图
- (void)loadNavigationItem
{
//
初始化基视图
UIImageView *itemBaseView = [[UIImageView
alloc] initWithFrame:CGRectMake(0, 0, 40, 25)];
itemBaseView.userInteractionEnabled =
YES;
itemBaseView.image = [UIImage
imageNamed:@"exchange_bg_home"];
//
给基视图添加单击事件
UITapGestureRecognizer *tap =
4000
[[UITapGestureRecognizer
alloc] initWithTarget:self
action:@selector(changeBrowseMode)];
[itemBaseView
addGestureRecognizer:tap];
//
添加子视图,海报logo
UIImageView *posterItem = [[UIImageView
alloc] initWithFrame:CGRectMake(itemBaseView.width/2-22.0/2, itemBaseView.height/2-15/2.0,
23, 14)];
posterItem.tag =
kPosterItemTag;
posterItem.hidden =
YES;
posterItem.image = [UIImage
imageNamed:@"poster_home"];
//
添加子视图,列表logo
UIImageView *listItem = [[UIImageView
alloc] initWithFrame:CGRectMake(itemBaseView.width/2-23.0/2, itemBaseView.height/2-7,
23, 14)];
listItem.image = [UIImage
imageNamed:@"list_home"];
listItem.tag =
kListItemTag;
//
添加子视图
[itemBaseView
addSubview:posterItem];
[itemBaseView
addSubview:listItem];
//
添加rightItem
UIBarButtonItem *rightItem = [[UIBarButtonItem
alloc] initWithCustomView:itemBaseView];
self.navigationItem.rightBarButtonItem = rightItem ;
}//
添加NavigationItem
- (void)animationBaseView:(UIView *)baseView flag:(BOOL)flag
{
[UIView
beginAnimations:nil
context:NULL];
[UIView
setAnimationDuration:0.5];
[baseView exchangeSubviewAtIndex:0
withSubviewAtIndex:1];
[UIView
setAnimationTransition:flag ? UIViewAnimationTransitionFlipFromLeft :
UIViewAnimationTransitionFlipFromRight
forView:baseView cache:YES];
[UIView
commitAnimations];
}//
翻转过渡动画效果
#pragma mark - Actions Method
- (void)changeBrowseMode
{
//
获得itembaseView
UIView *baseItemView = [self.navigationItem.rightBarButtonItem
customView];
UIView *posterItem = [baseItemView
viewWithTag:kPosterItemTag];
UIView *listItem = [baseItemView
viewWithTag:kListItemTag];
[self
animationBaseView:self.view
flag:posterItem.hidden];
[self
animationBaseView:baseItemView
flag:posterItem.hidden];
if (posterItem.hidden) {
posterItem.hidden =
NO;
listItem.hidden =
YES;
}
else {
posterItem.hidden =
YES;
listItem.hidden =
NO;
}
}//
改变浏览方式
- (void)loadListView
{ //状态栏20
导航栏44 tabar49
_listView = [[UITableView
alloc] initWithFrame:CGRectMake(0, 0,
kDeviceWidth,
kDeviceHeight-20-44-49)
style:UITableViewStylePlain];
_listView.backgroundColor = [UIColor
colorWithPatternImage:[UIImage
imageNamed:@"bg_main"]];
_listView.indicatorStyle =
UIScrollViewIndicatorStyleWhite;//
默认黑色风格
_listView.dataSource =
self;
_listView.delegate =
self;
[self.view
addSubview:_listView];
}//
加载表视图
- (void)loadPosterView
{
// _poserView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kDeviceWidth, kDeviceHeight-20-44-49)];
// _poserView.backgroundColor = [UIColor purpleColor];
// [self.view addSubview:_poserView];
//
_poserView = [[PosterView
alloc] initWithFrame:CGRectMake(0, 0,
kDeviceWidth,
kDeviceHeight-20-44-49)];
[self.view
addSubview:_poserView];
}//
加载海报视图
- (void)loadNavigationItem
{
//
初始化基视图
UIImageView *itemBaseView = [[UIImageView
alloc] initWithFrame:CGRectMake(0, 0, 40, 25)];
itemBaseView.userInteractionEnabled =
YES;
itemBaseView.image = [UIImage
imageNamed:@"exchange_bg_home"];
//
给基视图添加单击事件
UITapGestureRecognizer *tap =
4000
[[UITapGestureRecognizer
alloc] initWithTarget:self
action:@selector(changeBrowseMode)];
[itemBaseView
addGestureRecognizer:tap];
//
添加子视图,海报logo
UIImageView *posterItem = [[UIImageView
alloc] initWithFrame:CGRectMake(itemBaseView.width/2-22.0/2, itemBaseView.height/2-15/2.0,
23, 14)];
posterItem.tag =
kPosterItemTag;
posterItem.hidden =
YES;
posterItem.image = [UIImage
imageNamed:@"poster_home"];
//
添加子视图,列表logo
UIImageView *listItem = [[UIImageView
alloc] initWithFrame:CGRectMake(itemBaseView.width/2-23.0/2, itemBaseView.height/2-7,
23, 14)];
listItem.image = [UIImage
imageNamed:@"list_home"];
listItem.tag =
kListItemTag;
//
添加子视图
[itemBaseView
addSubview:posterItem];
[itemBaseView
addSubview:listItem];
//
添加rightItem
UIBarButtonItem *rightItem = [[UIBarButtonItem
alloc] initWithCustomView:itemBaseView];
self.navigationItem.rightBarButtonItem = rightItem ;
}//
添加NavigationItem
- (void)animationBaseView:(UIView *)baseView flag:(BOOL)flag
{
[UIView
beginAnimations:nil
context:NULL];
[UIView
setAnimationDuration:0.5];
[baseView exchangeSubviewAtIndex:0
withSubviewAtIndex:1];
[UIView
setAnimationTransition:flag ? UIViewAnimationTransitionFlipFromLeft :
UIViewAnimationTransitionFlipFromRight
forView:baseView cache:YES];
[UIView
commitAnimations];
}//
翻转过渡动画效果
#pragma mark - Actions Method
- (void)changeBrowseMode
{
//
获得itembaseView
UIView *baseItemView = [self.navigationItem.rightBarButtonItem
customView];
UIView *posterItem = [baseItemView
viewWithTag:kPosterItemTag];
UIView *listItem = [baseItemView
viewWithTag:kListItemTag];
[self
animationBaseView:self.view
flag:posterItem.hidden];
[self
animationBaseView:baseItemView
flag:posterItem.hidden];
if (posterItem.hidden) {
posterItem.hidden =
NO;
listItem.hidden =
YES;
}
else {
posterItem.hidden =
YES;
listItem.hidden =
NO;
}
}//
改变浏览方式
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- upload上传单张图片
- 图片引发的溢出危机(图)
- C#实现把彩色图片灰度化代码分享
- C#将图片和字节流互相转换并显示到页面上
- C#监控文件夹并自动给图片文件打水印的方法
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- C#实现将Email地址转成图片显示的方法
- 超级经典一套鼠标控制左右滚动图片带自动翻滚
- 用css实现图片垂直居中的使用技巧