2014-09-26 26 views
0

我想在Xcode 6上使用Stroyboards製作iPhone5,5c,5s和6的應用程序,但我遇到了問題。故事板+ UIcollectionView:Ui在iOS模擬器和設備上以不同的方式顯示

我正在使用帶有自定義UICollectionViewCell和單元格中包含的另一個自定義視圖的UICollectionView。

問題是,當我看故事板,然後我看到我需要什麼,我在iOS模擬器中運行應用程序,用戶界面看起來很好,但是當我在iPhone 5c上測試同一個應用程序時,UI幾乎爲空。

這是從模擬圖像:

enter image description here

而這就是我得到的iPhone:

iPhone 5c Screenshot

中的各個項目的UIViewControllerCell子類的對象。

模擬器屏幕截圖中的圖像是UIView(包含在UICollectionViewCell中),它根據我提供給它的圖像數設置圖像的框架。因此,如果我有1個,那麼它將顯示在與第一個項目相同的指定圖像的全部區域中,如果圖像超過4個,則可以顯示多達4個圖像,然後有標籤代替第4個圖像。

對我來說真的很奇怪的事情是,在iPhone 5c上,用戶界面只顯示一個圖像,所以至少UiCollectionView單元格是可見的,但再次單元格也有白色背景顏色,爲什麼沒有出現? 這是子類UICllectionViewCell的drawRect方法的鱈魚:

-(void)drawRect:(CGRect)rect {  
self.contentView.layer.cornerRadius = 3.0f; 
self.contentView.layer.borderWidth = 0.25f; 
self.contentView.layer.borderColor = [UIColor clearColor].CGColor; 
self.contentView.backgroundColor = [UIColor whiteColor]; 
self.contentView.layer.masksToBounds = YES; 

self.layer.shadowColor = [UIColor blackColor].CGColor; 
self.layer.shadowOffset = CGSizeMake(0, 0.5f); 
self.layer.shadowRadius = 3.0f; 
self.layer.shadowOpacity = 0.125f; 
self.layer.masksToBounds = NO; 
self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:self.contentView.layer.cornerRadius].CGPath; 

}

我試圖與約束玩耍,但什麼都沒有發生,我轉身自動版式關閉,仍然一無所獲。

難道有人請指出什麼是錯誤和任何修復?

謝謝

編輯1:

我加self.contentView.frame = self.frame;到的drawRect的頂部,這就是結果:

self.contentView.frame = self.frame

這是我使用的代碼加載圖像,這是在sublcassed UICollectionViewCell:

-(void) populate:(dataObject *) dataObject 

{

NSArray *thumbsArray = dataObject.thumnails; 
_thumbnailsView = [[ThumbnailsView alloc] initWithFrame:CGRectMake(0, 0, 139, 107)]; 
_tempThumbnailsView = [[ThumbnailsView alloc] initWithFrame:CGRectMake(0, 0, 139, 107)]; 
[_tempThumbnailsView setBackgroundColor:[UIColor blueColor]]; 
_tempThumbnailsView.fileCount = bucket.fileCount; 
_tempThumbnailsView.thumbnailsArray = thumbsArray; 

[self.thumbnailsViewArea addSubview:_tempThumbnailsView]; 

self.title.text = dataObject.name; 

}

「self.thumbnailsViewArea」 是一個IBOutlet在將包含圖像的單元的圖。

回答

0

檢查您的自動佈局屬性。

+0

我關閉了自動佈局功能,出於某種原因它開始顯示我在故事板上看到的內容。我也嘗試過自動佈局,我發現它也可以使用,但是我沒有在這個屏幕上需要自動佈局,所以我不會那麼做。 我會稍等一下,看看我能否至少得到更好的解釋,否則我會將您的答案標記爲已接受。 – 2014-09-27 01:01:40

相關問題