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
  • 相关阅读:
    physicslectureGriavity
    electromagnetic
    dp
    physicsmechanic wave
    C# 2.0 Specification(迭代器)(二)
    C#类、接口、虚方法和抽象方法接口与抽象类的区别实例
    web.config connectionStrings 数据库连接字符串的解释(转载)
    onpropertychange事件
    C#中ParameterizedThreadStart和ThreadStart区别
    C# 文件操作全收录
  • 原文地址:https://www.cnblogs.com/oceansea/p/5949333.html
Copyright © 2011-2022 走看看