動(dòng)態(tài)獲取網(wǎng)絡(luò)圖片高度

1嚼松、先獲取圖片,獲取高度

2锰扶、給model賦值献酗,刷新tableView,重新加載圖片坷牛;

#import "ViewController.h"

#import "ItemCell.h"

#import "ItemModel.h"

#import"SDWebImage/UIImageView+WebCache.h"

#import"CHTCollectionViewWaterfallLayout.h"

@interface ViewController ()@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;


@property (nonatomic, strong) NSMutableArray *dataArray;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

self.title = @"瀑布流";

[self initData];

CHTCollectionViewWaterfallLayout *layout = [[CHTCollectionViewWaterfallLayout alloc] init];

layout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10);

//? ? layout.headerHeight = 15;

//? ? layout.footerHeight = 10;

//? ? layout.minimumColumnSpacing = 20;

//? ? layout.minimumInteritemSpacing = 30;

self.collectionView.collectionViewLayout = layout;

self.collectionView.delegate = self;

self.collectionView.dataSource = self;

self.collectionView.backgroundColor = [UIColor whiteColor];

[self.collectionView registerClass:[ItemCell class] forCellWithReuseIdentifier:@"item"];

}

- (void)viewDidAppear:(BOOL)animated {

[super viewDidAppear:animated];

[self updateLayoutForOrientation:[UIApplication sharedApplication].statusBarOrientation];

}

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];

[self updateLayoutForOrientation:toInterfaceOrientation];

}

- (void)updateLayoutForOrientation:(UIInterfaceOrientation)orientation {

CHTCollectionViewWaterfallLayout *layout =

(CHTCollectionViewWaterfallLayout *)self.collectionView.collectionViewLayout;

layout.columnCount = UIInterfaceOrientationIsPortrait(orientation) ? 2 : 3;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (void)initData {

NSArray *imageArray = @[

@"http://g.hiphotos.baidu.com/image/w%3D310/sign=6f9ce22079ec54e741ec1c1f89399bfd/9d82d158ccbf6c81cea943f6be3eb13533fa4015.jpg",

@"http://b.hiphotos.baidu.com/image/pic/item/4bed2e738bd4b31cc6476eb985d6277f9e2ff8bd.jpg",

@"http://c.hiphotos.baidu.com/image/pic/item/94cad1c8a786c9174d18e030cb3d70cf3bc7579b.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=79bc1b1a950a304e5222a6fbe1c9a7c3/d1160924ab18972b50a46fd4e4cd7b899e510a15.jpg",

@"http://c.hiphotos.baidu.com/image/w%3D310/sign=05e2c867272dd42a5f0907aa333a5b2f/7dd98d1001e93901f3f7103079ec54e737d196c3.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=3914596cf1deb48ffb69a7dfc01e3aef/d0c8a786c9177f3ea3e73f0072cf3bc79e3d56e8.jpg",

@"http://c.hiphotos.baidu.com/image/w%3D310/sign=8cc67b8cc91349547e1eee65664e92dd/4610b912c8fcc3ce11e40a3e9045d688d43f2093.jpg",

@"http://c.hiphotos.baidu.com/image/w%3D310/sign=93e1c429952bd40742c7d5fc4b889e9c/3812b31bb051f8191cdd594bd8b44aed2e73e733.jpg",

@"http://b.hiphotos.baidu.com/image/pic/item/4bed2e738bd4b31cc6476eb985d6277f9e2ff8bd.jpg",

@"http://c.hiphotos.baidu.com/image/pic/item/94cad1c8a786c9174d18e030cb3d70cf3bc7579b.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=3914596cf1deb48ffb69a7dfc01e3aef/d0c8a786c9177f3ea3e73f0072cf3bc79e3d56e8.jpg",

@"http://c.hiphotos.baidu.com/image/w%3D310/sign=93e1c429952bd40742c7d5fc4b889e9c/3812b31bb051f8191cdd594bd8b44aed2e73e733.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=d4507def9d3df8dca63d8990fd1072bf/d833c895d143ad4b758c35d880025aafa40f0603.jpg",

@"http://c.hiphotos.baidu.com/image/w%3D310/sign=702acce2552c11dfded1b92253266255/d62a6059252dd42a3ac70aaa013b5bb5c8eab8e0.jpg",

@"http://h.hiphotos.baidu.com/image/w%3D310/sign=75ff59cd19d5ad6eaaf962ebb1ca39a3/b64543a98226cffcb9f3ddbbbb014a90f703eada.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=11386163f1deb48ffb69a7dfc01e3aef/d0c8a786c9177f3e8bcb070f72cf3bc79f3d5631.jpg",

@"http://f.hiphotos.baidu.com/image/w%3D310/sign=8ed508bbd358ccbf1bbcb33b29d8bcd4/8694a4c27d1ed21b33ff8fecaf6eddc451da3f80.jpg",

@"http://b.hiphotos.baidu.com/image/w%3D310/sign=ad40ca82c9ef76093c0b9f9e1edca301/5d6034a85edf8db16aa7b27b0b23dd54564e7420.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=79bc1b1a950a304e5222a6fbe1c9a7c3/d1160924ab18972b50a46fd4e4cd7b899e510a15.jpg",

@"http://c.hiphotos.baidu.com/image/w%3D310/sign=05e2c867272dd42a5f0907aa333a5b2f/7dd98d1001e93901f3f7103079ec54e737d196c3.jpg",

@"http://g.hiphotos.baidu.com/image/w%3D310/sign=6f9ce22079ec54e741ec1c1f89399bfd/9d82d158ccbf6c81cea943f6be3eb13533fa4015.jpg",

@"http://e.hiphotos.baidu.com/image/w%3D310/sign=79bc1b1a950a304e5222a6fbe1c9a7c3/d1160924ab18972b50a46fd4e4cd7b899e510a15.jpg"

];

self.dataArray = [NSMutableArray array];

for (NSString *item in imageArray) {

ItemModel *model = [ItemModel new];

model.imageUrl = item;

[self.dataArray addObject:model];

}

}

#pragma mark - UICollectionView Delegate

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {

return self.dataArray.count;

}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

ItemCell *cell = (ItemCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"item"

forIndexPath:indexPath];

ItemModel *model = [self.dataArray objectAtIndex:indexPath.row];

NSString *imgUrlString = model.imageUrl;

[cell.imageView sd_setImageWithURL:[NSURL URLWithString:imgUrlString] placeholderImage:[UIImage imageNamed:@"loading"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

if (image) {

if (!CGSizeEqualToSize(model.imageSize, image.size)) {

model.imageSize = image.size;

[collectionView reloadItemsAtIndexPaths:@[indexPath]];

}

}

}];

return cell;

}

#pragma mark - CHTCollectionViewDelegateWaterfallLayout

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {

ItemModel *model = [self.dataArray objectAtIndex:indexPath.row];

if (!CGSizeEqualToSize(model.imageSize, CGSizeZero)) {

return model.imageSize;

}

return CGSizeMake(150, 150);

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罕偎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子京闰,更是在濱河造成了極大的恐慌颜及,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蹂楣,死亡現(xiàn)場離奇詭異俏站,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)痊土,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門肄扎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赁酝,你說我怎么就攤上這事反浓。” “怎么了赞哗?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵雷则,是天一觀的道長。 經(jīng)常有香客問我肪笋,道長月劈,這世上最難降的妖魔是什么度迂? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮猜揪,結(jié)果婚禮上惭墓,老公的妹妹穿的比我還像新娘。我一直安慰自己而姐,他們只是感情好腊凶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拴念,像睡著了一般钧萍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上政鼠,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天风瘦,我揣著相機(jī)與錄音,去河邊找鬼公般。 笑死万搔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的官帘。 我是一名探鬼主播瞬雹,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刽虹!你這毒婦竟也來了挖炬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤状婶,失蹤者是張志新(化名)和其女友劉穎意敛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膛虫,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡草姻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稍刀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撩独。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖账月,靈堂內(nèi)的尸體忽然破棺而出综膀,到底是詐尸還是另有隱情,我是刑警寧澤局齿,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布剧劝,位于F島的核電站,受9級特大地震影響抓歼,放射性物質(zhì)發(fā)生泄漏讥此。R本人自食惡果不足惜拢锹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萄喳。 院中可真熱鬧卒稳,春花似錦、人聲如沸他巨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽染突。三九已至捻爷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間觉痛,已是汗流浹背役衡。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工茵休, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留薪棒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓榕莺,卻偏偏與公主長得像俐芯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子钉鸯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 傳動(dòng) 傳動(dòng)的部分嚴(yán)格的來說只包括 :牙盤 鏈條 中軸 和飛輪其實(shí)腳踏是不包含在傳動(dòng)當(dāng)中的.但是我也放在傳動(dòng)里講. ...
    去屎吧閱讀 7,128評論 0 15
  • 吳老頭在村西臨近國道的十字路口搭了一個(gè)簡易的石棉瓦棚房賣餛飩吧史,在篷房的柱子上,貼了一張大紙唠雕,說自己的兒子在村西口的...
    金大錚閱讀 197評論 0 0
  • 其實(shí)一直以來不敢承認(rèn)自己很多事都不行贸营,現(xiàn)在要學(xué)會習(xí)慣很多不行,我確實(shí)不夠努力不夠堅(jiān)持岩睁,心思很亂钞脂,記憶力也不行,但是...
    6186834d3810閱讀 189評論 0 0
  • 文. 朱湘怡 媽媽就像一本厚厚的“百科全書”讀懂她這本書捕儒,可真不容易冰啃。 媽媽這本書充滿了溫暖。我喜歡吃的飯...
    六片楓葉閱讀 615評論 3 2
  • 這些照片都是出自于澳洲女?dāng)z影師Jane Long根據(jù)老照片翻新過來的扇调,Jane Long以大約一個(gè)半世紀(jì)前的老照片...
    米拍閱讀 257評論 2 3