2014-09-19 219 views
2

所以,這是更好地發表圖片瞭解IOS集合視圖佈局問題

IOS 8 IOS 7.1 IOS 7.0 IN storyboard

我這裏沒有使用任何約束,因爲,當我開始使用約束,約束警告被拋出。餘設置故事板(五十○分之一百五十九)的細胞,最小間隔爲1,的尺寸以及在代碼

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return CGSizeMake(159, 50); 
} 

此外,我已經設置「剪輯子視圖」在的CollectionView,collectionviewcell,在小區視圖並按鈕在視圖中爲NO來查看視圖的放置位置。 「Autoresize子視圖」不做任何事,我已經檢查過。每個視圖的模式設置爲「Scale to Fit」單元格的大小可以是默認或自定義的,這也是沒有意義的。

那麼,爲什麼會發生這種情況?我已經花了2天時間。請幫忙。


我還附加了約束上的截圖。

我已經設置了UIView裏面的單元格和UIVabel在這個UIView裏面的頂部,底部,前後約束。

ios 8 ios 7.1 ios 7.0

但在這種情況下,我在每臺設備上有限制的錯誤:

(
    "<NSLayoutConstraint:0x7fd0834b0b10 H:[UIButton:0x7fd0834b0140'Button']-(0)-| (Names: '|':UIView:0x7fd0834b0050)>", 
    "<NSLayoutConstraint:0x7fd0834b0b60 H:|-(35)-[UIButton:0x7fd0834b0140'Button'] (Names: '|':UIView:0x7fd0834b0050)>", 
    "<NSLayoutConstraint:0x7fd0834b0dd0 H:|-(20)-[UIView:0x7fd0834b0050] (Names: '|':UIView:0x7fd0834aff60)>", 
    "<NSLayoutConstraint:0x7fd0834b0e70 H:[UIView:0x7fd0834b0050]-(19)-| (Names: '|':UIView:0x7fd0834aff60)>", 
    "<NSAutoresizingMaskLayoutConstraint:0x7fd0834b27c0 h=--& v=--& H:[UIView:0x7fd0834aff60(50)]>" 
) 

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7fd0834b0b10 H:[UIButton:0x7fd0834b0140'Button']-(0)-| (Names: '|':UIView:0x7fd0834b0050)> 

我想是因爲細胞大小設置不正確,在我的情況下,出現此錯誤設置爲默認50x50,我已經檢查過了。

所有這些問題都發生在安裝後的Xcode 6.


有趣的事情:當我使用UICollectionViewController,而不是UIViewController與上,我的應用程序正常工作所需的代表UICollectionView內。


+3

搜索答案的週末後,我發現我在這裏 需要http://stackoverflow.com/questions/24750158/autoresizing-issue-of-uicollectionviewcell-contentview-frame-in-storyboard-proto – wtorsi 2014-09-22 07:22:16

+0

將該評論替換爲問題的答案 – iosMentalist 2014-11-18 09:44:10

回答

1

你必須在自定義單元格類中添加以下代碼:

-(void)awakeFromNib 
{ 
    [super awakeFromNib]; 
    self.contentView.frame = self.bounds; 
    self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
} 

解決方案中發現:Autoresizing issue of UICollectionViewCell contentView's frame in Storyboard prototype cell (Xcode 6, iOS 8 SDK) happens when running on iOS 7 only

+0

請添加一些ex對你的答案充滿信心。簡單地發佈代碼和鏈接並不能給出一個很好的答案。 – 2016-07-22 17:02:43