FullScreenViewController.m 7.13 KB
Newer Older
勾芒's avatar
勾芒 committed
1 2 3 4 5 6 7 8 9 10
//
//  FullScreenViewController.m
//  Lighting
//
//  Created by 曹云霄 on 16/5/20.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "FullScreenViewController.h"
#import "FullScreenViewCell.h"
11
#import "ExperienceCentreViewController.h"
勾芒's avatar
勾芒 committed
12 13 14 15 16 17 18 19 20

@interface FullScreenViewController ()


/**
 *  返回View
 */
@property (nonatomic,strong) UIView *backView;

勾芒's avatar
勾芒 committed
21 22 23 24 25
/**
 *  返回按钮
 */
@property (nonatomic,strong) UIButton *backButton;

26 27 28 29 30
/**
 *  保存当前下标
 */
@property (nonatomic,assign) NSInteger currentIndex;

勾芒's avatar
勾芒 committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
@end

@implementation FullScreenViewController

static NSString * const reuseIdentifier = @"Cell";



#pragma mark -初始化
- (instancetype)init
{
    // 创建一个流水布局
    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
    // 设置cell的尺寸
    layout.itemSize = [UIScreen mainScreen].bounds.size;
    // 设置滚动的方向
    layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    // 行间距
    layout.minimumLineSpacing = 0;
    // 设置cell之间的间距
    layout.minimumInteritemSpacing = 0;
    return [super initWithCollectionViewLayout:layout];
}



- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self uiConfigAction];
    [self CreateBackView];
}


#pragma amrk 返回View
- (void)CreateBackView
{
勾芒's avatar
勾芒 committed
68
    
勾芒's avatar
勾芒 committed
69
    //产品列表调用
勾芒's avatar
勾芒 committed
70
    if (self.isProductLibrary) {
勾芒's avatar
勾芒 committed
71 72 73 74 75 76 77 78 79 80
        
        self.backButton = [UIButton buttonWithType:UIButtonTypeCustom];
        self.backButton.frame = CGRectMake(30, 10, 100, 64);
        [self.backButton setImage:TCImage(@"2-副本") forState:UIControlStateNormal];
        [self.backButton addTarget:self action:@selector(BackButtonClick) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:self.backButton];
        
    }else//场景列表调用
    {
        self.backView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, ScreenWidth, 64)];
勾芒's avatar
勾芒 committed
81
        self.backView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.4];
勾芒's avatar
勾芒 committed
82 83 84 85 86 87 88 89
        [self.view addSubview:self.backView];
        //返回按钮
        UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
        backButton.frame = CGRectMake(30, 0, 100, 64);
        [backButton setImage:TCImage(@"quanping") forState:UIControlStateNormal];
        [backButton addTarget:self action:@selector(BackButtonClick) forControlEvents:UIControlEventTouchUpInside];
        [self.backView addSubview:backButton];
        
勾芒's avatar
勾芒 committed
90 91
        //体验中心
        UIButton *tiYanCenterButton = [UIButton buttonWithType:UIButtonTypeCustom];
勾芒's avatar
勾芒 committed
92 93 94 95 96 97
        tiYanCenterButton.frame = CGRectMake(ScreenWidth-150, 10, 100, 44);
        tiYanCenterButton.layer.masksToBounds = YES;
        tiYanCenterButton.layer.cornerRadius = kCornerRadius;
        tiYanCenterButton.layer.borderWidth = 1;
        tiYanCenterButton.layer.borderColor = [UIColor whiteColor].CGColor;
        [tiYanCenterButton setTitle:@"体验中心" forState:UIControlStateNormal];
勾芒's avatar
勾芒 committed
98 99 100
        [tiYanCenterButton addTarget:self action:@selector(GotoTiYanCenterButtonClick) forControlEvents:UIControlEventTouchUpInside];
        [self.backView addSubview:tiYanCenterButton];
    }
勾芒's avatar
勾芒 committed
101
    [self.collectionView setContentOffset:CGPointMake(ScreenWidth*self.currentindex, 0)];
勾芒's avatar
勾芒 committed
102 103 104 105 106 107 108 109
}

#pragma mark -返回
- (void)BackButtonClick
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

勾芒's avatar
勾芒 committed
110 111 112
#pragma mark -体验中心
- (void)GotoTiYanCenterButtonClick
{
曹云霄's avatar
曹云霄 committed
113
    ExperienceCentreViewController *ExperienceCenter = [[BaseViewController getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"ExperienceCentre"];
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
    TOSceneEntity *sceneModel = [self.datasArray objectAtIndex_opple:self.currentIndex];
    SceneListModel *model = [[SceneListModel alloc]init];
    model.fid = sceneModel.fid;
    model.sceneCode = sceneModel.sceneCode;
    model.name = sceneModel.name;
    model.pricure = sceneModel.pricure;
    model.category = sceneModel.category;
    model.style = sceneModel.style;
    model.space = sceneModel.space;
    model.isSelectedSate = YES;
    [ExperienceCenter.sceneDatasArray addObject:model];
    ExperienceCenter.boolValue = YES;
    ExperienceCenter.modalPresentationStyle = UIModalPresentationOverFullScreen;
    UIPopoverPresentationController *popover = ExperienceCenter.popoverPresentationController;
    popover.sourceView = ExperienceCenter.view;
    [self presentViewController:ExperienceCenter animated:YES completion:nil];
}

#pragma mark -获取当前下标
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    CGPoint offset = scrollView.contentOffset;
    int index = offset.x/self.view.frame.size.width;
    self.currentIndex = index;
勾芒's avatar
勾芒 committed
138
}
勾芒's avatar
勾芒 committed
139 140 141 142 143

#pragma mark -UI
- (void)uiConfigAction
{
    self.collectionView.pagingEnabled = YES;
勾芒's avatar
勾芒 committed
144
    self.collectionView.backgroundColor = [UIColor whiteColor];
勾芒's avatar
勾芒 committed
145 146 147 148 149 150 151
    [self.collectionView registerClass:[FullScreenViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
}


#pragma mark <UICollectionViewDataSource>

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
勾芒's avatar
勾芒 committed
152
    return self.datasArray.count;
勾芒's avatar
勾芒 committed
153 154 155 156 157
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    
    FullScreenViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
勾芒's avatar
勾芒 committed
158
    cell.backgroundColor = kTCColor(251, 248, 241);
勾芒's avatar
勾芒 committed
159 160 161 162 163 164
    if (self.isProductLibrary) {
        [cell.imageView sd_setImageWithURL:[NSURL URLWithString:[self.datasArray objectAtIndex_opple:indexPath.item]] placeholderImage:REPLACEIMAGE];
        return cell;
    }
    TOSceneEntity *model = [self.datasArray objectAtIndex_opple:indexPath.item];
    [cell.imageView sd_setImageWithURL:[NSURL URLWithString:model.pricure] placeholderImage:REPLACEIMAGE];
勾芒's avatar
勾芒 committed
165 166 167 168 169
    return cell;
}

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
勾芒's avatar
勾芒 committed
170 171 172 173 174 175 176 177 178 179 180
    
    if (self.isProductLibrary) {
        if (self.backButton.frame.origin.y == 10) {
            
            [UIView animateWithDuration:0.3 animations:^{
                
                CGRect frame = self.backButton.frame;
                frame.origin.y = -64;
                self.backButton.frame = frame;
                
            }];
勾芒's avatar
勾芒 committed
181
            
勾芒's avatar
勾芒 committed
182 183 184 185 186 187 188 189 190 191
        }else if (self.backButton.frame.origin.y == -64)
        {
            [UIView animateWithDuration:0.3 animations:^{
                
                CGRect frame = self.backButton.frame;
                frame.origin.y = 10;
                self.backButton.frame = frame;
            }];
        }
    }else
勾芒's avatar
勾芒 committed
192 193
        
    {
勾芒's avatar
勾芒 committed
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
        if (self.backView.frame.origin.y == 0) {
            
            [UIView animateWithDuration:0.3 animations:^{
                
                CGRect frame = self.backView.frame;
                frame.origin.y = -64;
                self.backView.frame = frame;
                
            }];
        }else if (self.backView.frame.origin.y == -64)
        {
            [UIView animateWithDuration:0.3 animations:^{
                
                CGRect frame = self.backView.frame;
                frame.origin.y = 0;
                self.backView.frame = frame;
            }];
        }
勾芒's avatar
勾芒 committed
212
    }
勾芒's avatar
勾芒 committed
213 214 215 216
}


@end