在我的iPhone應用程序,我只是想設置一個特定的背景圖像,這取決於它是否是一個iPhone 5或沒有。問題設立一個回地面圖像和UIImageView的
所以,我嘗試兩種方法: A)使用
self.view.backgroundColor = [UIColor colorWithPatternImage:backGroundimage];
B)創建的UIImageView和設置圖像那裏。代碼:
UIImageView *backgroundImageView = [[UIImageView alloc]initWithFrame:screenBounds];
[backgroundImageView setImage:[UIImage imageNamed:backGroundImage]];
[self.view addSubview:backgroundImageView];
,但我有問題,與他們兩個:
與步驟A問題: 當我通過這種方式設定的圖像,我必須處理不同尺寸的圖像縮放問題的屏幕。我使用下面的代碼做scalling:
UIGraphicsBeginImageContext(screenBounds.size);
[[UIImage imageNamed:backGroundImage] drawInRect:screenBounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:image];
步驟A的另一個問題是,圖像顯得相當模糊。它不具有相同的銳度。
問題與步驟B: 這樣,圖像看起來非常清晰和銳利 - 只是它應該的樣子。
但是,當我切換到使用以下代碼另一視圖,奇怪的是在的UIImageView backgroundImageView仍然出現在第二個。我用它來切換視圖的代碼是:
[self presentViewController:secondViewController animated:YES completion:nil];
我甚至嘗試[backgroundImageView removeFromSuperview]
,但這也不解決任何問題。
那麼我做錯了什麼?我怎樣才能設置一個圖片作爲我的背景,這取決於iPhone的大小?
self.view.backgroundColor = [UIColor colorWithPatternImage:backGroundimage]; 這是什麼backGroundimage? – Rushi
backGroundImage在這裏不是問題。它指的是圖像的名稱,例如@「background.png」或@「backgroundiPhone5.png」等。 – BlueChips23