2015-10-21 104 views
2

我使用collectionview顯示從服務器獲取的產品。但圖像不適合collectionview單元格。我想知道是否有修復它的方法?圖像適合UICollectionView單元格

NSURL *url = [NSURL URLWithString:@"http://www.myURL/productAll.php"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { 
    NSError *myError = nil; 
    id res = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&myError];   
    items = [[NSMutableArray alloc] init]; 
    for (int i=0; i<[res count]; i++) { 
     NSString *arrayResult = [[res objectAtIndex:i]objectForKey:@"image"];    
     NSData *data = [[NSData alloc] initWithBase64EncodedString:arrayResult options:NSDataBase64DecodingIgnoreUnknownCharacters]; 
     UIImage *captcha_image = [[UIImage alloc] initWithData:data]; 
     [items addObject:captcha_image]; 
    } 
    [collectionView reloadData]; 
}]; 

這裏是collectionView電池設計,imageView尺寸與collectionView細胞匹配。 enter image description here

下面是用戶看到的是:

enter image description here

下面是ImageView的

的額外信息

enter image description here

enter image description here

cellCollectionView

enter image description here

+0

放大圖像您是否嘗試過釘扎的UIImageView到上海華邊界和將contentMode設置爲aspectToFill? –

+0

我添加了更多設置信息(屏幕截圖) – hotspring

+1

,嘗試使用自動佈局約束。讓所有四個方面的形象,甚至你可以嘗試通過自動調整大小。 –

回答

4

首先,現代蘋果設備得到各種大小。當你只設計一個屏幕時,它不再是2010年。移動到Autolayout。
其次,下面你可以找到一個非常詳細的解釋如何做所有適當的安裝程序。

  1. 點擊圖像視圖
  2. 單擊銷約束按鈕
  3. 放下常數(同邊距),然後選擇/突出紅色接頭盒到數字
  4. 取消選中「限制到邊距」複選框
  5. 單擊添加4約束按鈕
  6. 確保您的圖像視圖模式爲方面填充
  7. 不要忘記檢查重要的「剪輯子視圖」複選框,除非你會看到在彼此

Detailed explanation for adding constants

Detailed explanation for Image View setup

0

不要使用框架。

這是2015年,使用自動佈局。

創建您的經典自定義單元格,將imageview放在那裏,並將其頂部,左側,右側和底部約束放到實際單元格的邊緣。

不要忘了將你的outlet imageview鏈接到你的.h文件,並在創建單元格時設置它的圖像。

繁榮,你很好走,你的形象將永遠充滿細胞的空間。

如果您有圓角,您可能需要在單元格上將剪貼子視圖設置爲true。

以你的情況爲例,只要在單元格中顯示一個imageview應該沒有限制,如果你的單元格與你的原始單元格中的imageview具有完全相同的大小,當然你的imageview需要整個原始單元格。

+0

你能舉一個如何使setclipsubview爲true的例子嗎? – hotspring

+0

順便說一句,我做了它的自動佈局,它的工作原理,但即使我把collectionView尺寸從100增加到150,也是圖像以及重做theautolayout,它仍然保持相同的尺寸,沒有變化。 – hotspring

+0

在故事板中,它是一個位於底部的複選框;) 如果您的視圖A的剪輯子視圖爲true(已選中),則視圖A內部(下)的所有視圖都不會超出其界限。一個明顯的例子是,如果視圖A具有圓角,則視圖內部的視圖不會顯示爲正方形,並且會比角落「走得更遠」。視圖**剪輯**超出其極限的所有內容 –

相關問題