2011-05-02 73 views
5

在我的iPad應用程序,我目前擁有的1024×1024像素的背景圖像PNG和使用設置了以下的UIImageView背景圖像和旋轉幫助

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-image"]]; 
[self.view addSubview:imgView]; 
[self.view sendSubviewToBack:imgView]; 
[imgView release]; 

這增加了的UIImageView罰款和視圖以橫向但是居中它在肖像中偏離中心。

我已經玩過一些contentMode設置,但沒有任何運氣,我要麼獲得肖像爲中心或風景爲中心,但不是兩者。

有人可以幫助我獲得UIImageView中心在縱向和橫向後旋轉。

在此先感謝 馬特

回答

14

您需要設置contentMode,將frame和適當的自動尺寸面膜:

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-image"]]; 
imgView.frame = self.view.bounds; 
imgView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
imgView.contentMode = UIViewContentModeScaleAspectFill; 
[self.view addSubview:imgView]; 
[self.view sendSubviewToBack:imgView]; 
[imgView release]; 
+0

完美...不能相信我錯過了autoresizingMask,我試圖將UIViewAutoresizingFlexibleWidth應用於contentMode。過去一天左右,這一直讓我瘋狂。 在我的應用的所有視圖背後顯示這個UIImageView的最佳實踐是什麼?目前我已將所有view backgroundColor設置爲clearColor,並將上面的代碼放在Nav控制器上的viewWillAppear中。 許多感謝omz – 2011-05-11 11:40:48

+0

添加imageview到主窗口,並使所有控制器透明。但autosizing不會爲此工作。你需要手動旋轉窗口 – 2011-05-11 11:43:09

+0

@rahul你有任何關於如何手動旋轉窗口的代碼示例?這是否被認爲比我所做的更好?作爲導航控制器將永遠是有效的,並且需要處理旋轉。 – 2011-05-11 11:48:48

3

檢查autoresizingMask屬性爲imageView

+0

感謝7kv7,omz給出了一個稍微更詳細的答案和代碼示例,但非常感謝您的答覆。 autoresizingMask是關鍵。 – 2011-05-11 11:42:44

+0

@Matt當然可以。快樂編碼:) – visakh7 2011-05-11 11:44:43

+1

@ 7KV7:+1對於一個好的答案:) – 2012-03-29 07:10:44