PopoverViewController.m 3.5 KB
Newer Older
曹云霄's avatar
曹云霄 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
//
//  PopoverViewController.m
//  Lighting
//
//  Created by 曹云霄 on 16/5/9.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "PopoverViewController.h"

@interface PopoverViewController ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic,strong) UITableView *popoverTableView;

@end

@implementation PopoverViewController

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


#pragma mark -UI
- (void)uiConfigAction
{
    self.popoverTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.contentSize.width, self.contentSize.height) style:UITableViewStylePlain];
    self.popoverTableView.dataSource = self;
    self.popoverTableView.delegate = self;
    self.popoverTableView.showsVerticalScrollIndicator = NO;
    self.popoverTableView.tableFooterView = [UIView new];
    [self.view addSubview:self.popoverTableView];
    [self.popoverTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"popovercell"];
}


#pragma mark -填充数据
- (void)setDatasArray:(NSArray *)datasArray
{
    _datasArray = datasArray;
    [self.popoverTableView reloadData];
}


#pragma mark - UITableViewDataSource
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"popovercell" forIndexPath:indexPath];
    
    //显示纯图片
    if (self.isPictures) {
曹云霄's avatar
曹云霄 committed
54
        cell.imageView.image = TCImage([self.datasArray objectAtIndex_opple:indexPath.row]);
曹云霄's avatar
曹云霄 committed
55 56 57
        return cell;
    }
    if (self.isString) {
曹云霄's avatar
曹云霄 committed
58
        cell.textLabel.text = [self.datasArray objectAtIndex_opple:indexPath.row];
曹云霄's avatar
曹云霄 committed
59 60
    }else
    {
曹云霄's avatar
曹云霄 committed
61
       cell.textLabel.text = [[self.datasArray objectAtIndex_opple:indexPath.row] typeName];
曹云霄's avatar
曹云霄 committed
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
    }
    cell.textLabel.textAlignment = NSTextAlignmentCenter;
    cell.textLabel.font = [UIFont systemFontOfSize:14];
    return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.datasArray.count;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    WS(weakSelf);
    if (self.isPictures)
    {
        if ([self.delegate respondsToSelector:@selector(returnWithIndexSelected:)]) {
            [self dismissViewControllerAnimated:YES completion:nil];
            [weakSelf.delegate returnWithIndexSelected:indexPath.row];
        }
    }else
    {
        if ([self.delegate respondsToSelector:@selector(returnCellindexpathwithrow:withCellTitle:withSelected:)]) {
            [self dismissViewControllerAnimated:YES completion:nil];
            //判断是为纯字符串选中
            if (weakSelf.isString) {
曹云霄's avatar
曹云霄 committed
90
                [weakSelf.delegate returnCellindexpathwithrow:[weakSelf.datasArray objectAtIndex_opple:indexPath.row] withCellTitle:[weakSelf.datasArray objectAtIndex_opple:indexPath.row] withSelected:_selectedindex];
曹云霄's avatar
曹云霄 committed
91
            }else{
曹云霄's avatar
曹云霄 committed
92
                [weakSelf.delegate returnCellindexpathwithrow:[[weakSelf.datasArray objectAtIndex_opple:indexPath.row] typecode] withCellTitle:[[weakSelf.datasArray objectAtIndex_opple:indexPath.row] typeName] withSelected:_selectedindex];
曹云霄's avatar
曹云霄 committed
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
            }
        }
    }    
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 44;
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end