iOS 两个tableview的 瀑布流
iOS 两个tableview的 瀑布流
1. [代码]Objective-C
//
// DocViewController.m
// getrightbutton
//
// Created by 隋文涛 on 12-12-9.
// Copyright (c) 2012年 隋文涛. All rights reserved.
//
#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) {http://www.huiyi8.com/vi/
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];vi模版大全
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
效果图:
iOS 两个tableview的 瀑布流的更多相关文章
- 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 ...
- iOS教你轻松打造瀑布流Layout
前言 : 在写这篇文章之前, 先祝贺自己, 属于我的GitHub终于来了. 这也是我的GitHub的第一份代码, 以下文章的代码均可以在Demo clone或下载. 欢迎大家给予意见. 觉得写得不错的 ...
- iOS GZWaterfall任何形式的瀑布流
概述 使用UICollectionView可以布局各种各样的瀑布流,下面我写了几种不同布局的瀑布流样式 详细 代码下载:http://www.demodashi.com/demo/11018.html ...
- ios 两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动
两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动 这是一个创建于 359 天前的主题,其中的信息可能已经有所发展或是发生改变. [联动] :两个 ...
- iOS瀑布流实现(Swift)
这段时间突然想到一个很久之前用到的知识-瀑布流,本来想用一个简单的方法,发现自己走入了歧途,最终只能狠下心来重写UICollectionViewFlowLayout.下面我将用两种方法实现瀑布流,以及 ...
- IOS 瀑布流
本篇博客应该算的上CollectionView的高级应用了,从iOS开发之窥探UICollectionViewController(一)到今天的(五),可谓是由浅入深的窥探了一下UICollectio ...
- IOS 瀑布流UICollectionView实现
IOS 瀑布流UICollectionView实现 在实现瀑布流之前先来看看瀑布流的雏形(此方法的雏形 UICollectionView) 对于UICollectionView我们有几点注意事项 它和 ...
- iOS横向瀑布流的封装
前段时间, 做一个羡慕, 需要使用到瀑布流! 说道瀑布流, 或许大家都不陌生, 瀑布流的实现也有很多种! 从scrollView 到 tableView 书写的瀑布流, 然后再到2012年iOS6 苹 ...
- iOS 瀑布流之栅格布局
代码地址如下:http://www.demodashi.com/demo/14760.html 一 .效果预览 二.确定需求 由下面的需求示意图可知模块的最小单位是正方形,边长是屏幕宽除去边距间隔后的 ...
随机推荐
- 转:关于使用ImageMagick和Tesseract进行简单数字图像识别
据说Tesseract可是世界排名第三的OCR神器,2010年又更新了3.0版本.Tesseract原先是HP写的,现在Open Source了. 下面介绍怎么用Tesseract配合ImageMag ...
- Eclipse工程中Java Build Path中的JDK版本和Java Compiler Compiler compliance level的区别(转)
在这里记录一下在eclipse中比较容易搞混淆和设置错误的地方.如下图所示的功能: 最精准的解释如下: Build Path是运行时环境 Compiler是编译时环境 假设,你的代码用到泛型,Bu ...
- DTrace Oracle Database
http://d.hatena.ne.jp/yohei-a/20100515/1273954199 DTrace で Oracle Database のサーバー・プロセスをトレースしてみた Oracl ...
- DozerBeanMapper + 对象转Map方法
1.简介 dozer是一种JavaBean的映射工具,类似于apache的BeanUtils.但是dozer更强大,它可以灵活的处理复杂类型之间的映射.不但可以进行简单的属性映射.复杂的类型映 ...
- Java HashMap学习笔记
1.HashMap数据结构 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外.HashMap实际 ...
- best-time-to-buy-and-sell-stock系列——先买入后卖出股票的最大值
1. Say you have an array for which the i th element is the price of a given stock on day i . If you ...
- CUDA编程->CUDA入门了解(一)
安装好CUDA6.5+VS2012,操作系统为Win8.1版本号,首先下个GPU-Z检測了一下: 看出本显卡属于中低端配置.关键看两个: Shaders=384.也称作SM.或者说core/流处理器数 ...
- 数据结构与算法——AVL树类的C++实现
关于AVL树的简单介绍能够參考:数据结构与算法--AVL树简单介绍 关于二叉搜索树(也称为二叉查找树)能够參考:数据结构与算法--二叉查找树类的C++实现 AVL-tree是一个"加上了额外 ...
- 第14章8节《MonkeyRunner源代码剖析》 HierarchyViewer实现原理-获取控件列表并建立控件树
在上几节的描写叙述中,我们把HierarchyViewer初始化好.也把ViewServer给装备好了.那如今距离获得一个控件去操作它是万事具备仅仅欠东风了,欠了那一股春风了?欠了的是建立控件树这个东 ...
- git 操作远程仓库地址
查看所有远程仓库地址: git remote -v 更改远程仓库地址: git remote set-url origin newUrl 查看某一个远程仓库地址: git remote get-url ...