zoukankan      html  css  js  c++  java
  • iOS 使用两个tableview的瀑布流

    代码     

    悦德财富:https://www.yuedecaifu.com
    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
    54
    55
    56
    57
    58
    59
    60
    61
    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
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    //
    //  DocViewController.m
    //  getrightbutton
    //
    //
     
    #import "DocViewController.h"
    #define heightofimage(image) image.size.height*150.0/image.size.width
     
    @interface DocViewController ()
    {
        NSMutableArray *arrdata;
        NSMutableArray *arrdata1;
        NSMutableArray *arrdata2;
        NSMutableArray *arrdata1_1;
        NSMutableArray *arrdata2_1;
        float he1,he2;
    }
     
    @property (weak, nonatomic) IBOutlet UITableView *tableview01;
    @property (weak, nonatomic) IBOutlet UITableView *tableview02;
     
    @end
     
    @implementation DocViewController
    @synthesize tableview01,tableview02;
     
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(Backhome) name:@"Back" object:nil];
         
        he1 = 0.0;
        he2 = 0.0;
        arrdata1 = [[NSMutableArray alloc] initWithCapacity:1];
        arrdata2 = [[NSMutableArray alloc] initWithCapacity:1];
        arrdata1_1 = [[NSMutableArray alloc] initWithCapacity:1];
        arrdata2_1 = [[NSMutableArray alloc] initWithCapacity:1];
        for (int i = 1; i < 11; i++) {
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpeg",i]];
            float hecu = image.size.height*150.0/image.size.width;
             
            if (he2 >= he1) {
                he1 = he1 + hecu;
                NSArray *arr = [[NSArray alloc] initWithObjects:[NSString stringWithFormat:@"%d",i],[NSString stringWithFormat:@"%f",hecu], nil];
    //            [arrdata1_1 addObject:[NSString stringWithFormat:@"%d",i]];
    //            [arrdata1_1 addObject:[NSString stringWithFormat:@"%f",hecu]];
                [arrdata1 addObject:arr];
            }else{
                he2 = he2 + hecu;
                NSArray *arr = [[NSArray alloc] initWithObjects:[NSString stringWithFormat:@"%d",i],[NSString stringWithFormat:@"%f",hecu], nil];
                [arrdata2 addObject:arr];
            }
            NSLog(@"%f(h1 = %f,,,,h2 = %f)",hecu,he1,he2);
        }
        tableview01.showsVerticalScrollIndicator = NO;
        tableview02.showsVerticalScrollIndicator = NO;
        NSLog(@"%@+++++++%@",arrdata1,arrdata2);
    }
     
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    //    return 100;
        if (tableView == tableview01) {
            return [arrdata1 count];
        }else{
            return [arrdata2 count];
        }
        return 0;
    }
     
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        NSInteger row = indexPath.row;
         
         
        if (tableView == tableview01) {
    //        tableview02
    //        [tableview02 setContentOffset:tableview01.contentOffset];
            static NSString *id1 = @"sd1";
            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:id1];
            if (cell == nil) {
                NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CellView" owner:self options:nil];
                if (nib > 0) {
                    cell = _ccell;
                }
            }
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpeg",[[[arrdata1 objectAtIndex:row] objectAtIndex:0] integerValue]]];
            UIImageView *imageview = (UIImageView *)[cell viewWithTag:101];
            [imageview setImage:image];
            CGRect rect = imageview.frame;
            rect.size.height = [[[arrdata1 objectAtIndex:row] objectAtIndex:1] floatValue];
            imageview.frame = rect;
            return cell;
     
        }else{
    //        [tableview01 setContentOffset:tableview02.contentOffset];
            static NSString *id = @"sd";
            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:id];
            if (cell == nil) {
                NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CellView" owner:self options:nil];
                if (nib > 0) {
                    cell = _ccell;
                }
            }
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpeg",[[[arrdata2 objectAtIndex:row] objectAtIndex:0] integerValue]]];
            UIImageView *imageview = (UIImageView *)[cell viewWithTag:101];
            [imageview setImage:image];
            CGRect rect = imageview.frame;
            rect.size.height = [[[arrdata2 objectAtIndex:row] objectAtIndex:1] floatValue];
            imageview.frame = rect;
            return cell;
     
        }
        return nil;
    }
     
    - (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
        NSInteger row = indexPath.row;
        if (tableView == tableview01) {
            return [[[arrdata1 objectAtIndex:row] objectAtIndex:1] floatValue] +10;
        }else{
            return [[[arrdata2 objectAtIndex:row] objectAtIndex:1] floatValue] +10;
        }
        return 0.0;
    }
     
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        DocwebViewController *controller = [[DocwebViewController alloc] init];
        [self presentModalViewController:controller animated:YES];
    }
     
    - (void)Backhome{
        [self dismissModalViewControllerAnimated:YES];
    }
     
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
        if (scrollView == tableview01) {
            [tableview02 setContentOffset:tableview01.contentOffset];
        }else{
            [tableview01 setContentOffset:tableview02.contentOffset];
        }
         
    }
     
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
     
    @end
  • 相关阅读:
    洛谷 P2634 BZOJ 2152 【模板】点分治(聪聪可可)
    洛谷 P3819 松江1843路
    洛谷 P1005 矩阵取数游戏
    洛谷 P2712 摄像头
    洛谷 P2774 方格取数问题
    洛谷 P3369 BZOJ 3224 【模板】普通平衡树(Treap/SBT)
    洛谷 P2805 BZOJ 1565 植物大战僵尸
    洛谷 P2312 解方程
    洛谷 P3355 骑士共存问题
    洛谷 P2762 太空飞行计划问题
  • 原文地址:https://www.cnblogs.com/oceansea/p/5949333.html
Copyright © 2011-2022 走看看