#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 = [[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;
}
}// 改变浏览方式