2013-01-02 27 views
0

UIImage幀我試圖顯示星級評價圖像,我有三個星形圖像:全明星,半星和未選定的灰色出星。UIImage幀在NSMutableArray

我有一個包含星星的數組:所以對於等級4.5,它將保存4個選擇和1個一半。我將相同的明星對象添加到數組中,這樣我就不必創建多個恆星實例。我剛纔三個實例,在我計算我只是用在這三個不同的圖像addObject如下:

for (int i = 0; i < ratingCount; i++) { 
     if (rating >= 1) 
      [self.imageViews addObject:self.selected]; 
     else 
      [self.imageViews addObject:self.halfSelected]; 
     rating--; 
} 

我有一個問題,繪製這些圖像。在隨後的循環,我想畫出來如下:

for (int i = 0; i < self.imageViews.count; ++i) { 
     UIImageView *imageView = [self.imageViews objectAtIndex:i]; 
     imageView.frame = CGRectMake(i * (5 + imageWidth), 0, imageView.frame.size.width, imageView.frame.size.height); 
     [self.view addSubview:imageView]; 
    } 

這崩潰,因爲imageView.frame是走出來爲空。當我調試它時,它打印出null <0x00000000>。爲什麼框架出現爲空?圖像不打印爲空,我知道它們已正確添加到陣列中。

拆卸時imageView.frame,我也得到一個[UIImage superview]: unrecognized selector sent to instance 0x8644590

的圖像在init方法使用imageNamed實例化。會導致問題嗎?他們是否提前分配?當試圖在調試器中使用po來查看圖像時,應該打印出null,所以我不認爲這是問題。

+0

我有一個偉大的啓動評級顯示教程我可以發佈作爲答案? –

+2

Ray Wenderlich的? – darksky

+0

我看到了它,我所擁有的與他們所做的非常相似。 – darksky

回答

2

你很困惑UIImageUIImageView。你的數組包含的圖像沒有框架,因爲它們不是視圖。

您需要一組獨立的圖像視圖,並將圖像分配給它們。