2011-07-04 100 views
0

首先,我剛開始使用Xcode和iPhone開發,所以如果這些問題是多餘的,請耐心等待...我還沒有找到答案,因此我的帖子。第二......好的,還有第二......所以我會回答這個問題。iPhone應用程序問題:UIImageView序列沒有加載

我使用UIImage視圖作爲我的TheEyeViewController的背景圖像,我需要在背景UIImageView上設置另一個UIImageView。前臺UIImageView需要加載一系列圖像......但它不起作用。當我嘗試使用代碼設置前景圖像視圖時,我不認爲編譯器能夠區分2個圖像視圖。它不會崩潰......序列不會顯示出來。

對此非常感謝。 謝謝你的時間。

//.h

UIImageView * imageView;

@property(nonatomic,retain)IBOutlet UIImageView * imageView;

//.m 

- (void)viewDidLoad 

{ 

imageView.animationImages = [NSArray arrayWithObjects: 
           [UIImage imageNamed:@"openingSeq1.jpg"], 
           [UIImage imageNamed:@"openingSeq2.jpg"], 
           [UIImage imageNamed:@"openingSeq3.jpg"], 
        [UIImage imageNamed:@"openingSeq4.jpg"], 
        [UIImage imageNamed:@"openingSeq5.jpg"], 
        [UIImage imageNamed:@"openingSeq6.jpg"], 
        [UIImage imageNamed:@"openingSeq7.jpg"], 
        [UIImage imageNamed:@"openingSeq8.jpg"], 
        [UIImage imageNamed:@"openingSeq9.jpg"], 
        [UIImage imageNamed:@"openingSeq10.jpg"],nil]; 

    imageView.animationDuration = 2; 
    imageView.animationRepeatCount = 1; 
    [imageView startAnimating]; 
    [self.view addSubview:imageView]; 

如果(imageView.image ==無) { labelRandText.text = @ 「圖像未加載。」; }

[super viewDidLoad]; 

} 
+1

你可以發佈失敗的代碼嗎?在這種情況下也有趣的是你的類頭定義,特別是定義每個UIImageView的部分。最後,確保您的Interface Builder插口連接正確。 – Tim

+0

此外,作爲一個StackOverflow注意事項,你應該考慮一個更具描述性的標題。例如,像'將圖像序列加載到UIImageView失敗'。 – Tommy

+0

你可以檢查imageView是否不是零?就像'if(!imageView)NSLog(@「There's no ImageView!!」);' – EmilioPelaez

回答

1

一般性評論,可能會或可能不會幫助:

假設[UIImage imageNamed:@"openingSeq1.jpg"]返回nil,這是一樣發佈一個空數組,因爲零看起來就像是結束傳遞的事情列表中的一個到arrayWithObjects:。這可能是值得加入了快捷:

NSLog(@"os1: %@", [UIImage imageNamed:@"openingSeq1.jpg"]); 

如果顯示你得到零背那麼你的項目設置不正確,這樣的UIImage無法找到這些文件。

如果imageView已經存在於Interface Builder中的視圖中,那麼[self.view addSubview:imageView];是多餘的,但不應該是有害的。

一個NSLog(@"%@", imageView)(或者甚至一個記錄你想要達到的imageView和另一個你認爲可能有問題的,因此你可以檢查它們不是同一個)可以用來驗證你可以在Interface Builder中正確連線。

此外,從技術角度而言,您應該在任何自己的代碼之前調用[super viewDidLoad];,因爲從邏輯上講,您希望超類在您做任何事情之前做了它應該做的任何事情。然而,與addSubview一樣,這不應該在你的特定情況下真的產生任何可能性,因爲UIViewController基類沒有在viewDidLoad中做任何事情。