(1) 和status bar重疊的藍色長方形1號 ,frame設為(0, 0, 320, 20)
(2) 橘色長方形 ,frame設為 (0, 20, 320, 20)
(3) 彼得潘的朋友,iOS App正妹工程師Yvonne的美麗照片,大小設為(300, 300),置於畫面中央。
正妹的照片當然不會只有一張,為了讓App更加漂亮,彼得潘決定加入2張圖片,girl.jpg和girl@2x.jpg,讓同時擁有retina和非retina iPhone的朋友可以同時欣賞兩張不同的照片。
girl.jpg
girl@2x.jpg
在進一步了解無聊程式碼前,讓彼得潘先稍微介紹一下這位iOS和Android App開發雙通,百年難得一見的奇才朋友吧: Yvonne是多才多藝的雙子座,喜歡動物,家裡養著可愛的貓咪,girl.jpg正是她和家貓甜蜜的合照,girl@2x.jpg則是她喝著下午茶,準備喝完繼續努力開發下一個百萬App。
(4) 藍色長方形2號,frame設為 (0, 460, 320, 20)
程式碼:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSLog(@"scale %f", [UIScreen mainScreen].scale);
UIView *topView1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
topView1.backgroundColor = [UIColor blueColor];
[self.view addSubview:topView1];
UIView *topView2 = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 320, 20)];
topView2.backgroundColor = [UIColor orangeColor];
[self.view addSubview:topView2];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];
imageView.center = self.view.center;
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.image = [UIImage imageNamed:@"girl.jpg"];
[self.view addSubview:imageView];
UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 460, 320, 20)];
bottomView.backgroundColor = [UIColor blueColor];
[self.view addSubview:bottomView];
}
當App執行後,在iPhone retina 3.5吋上顯示的模樣一如我們的預期,顯示了誘惑人放下工作,享受下午茶約會時光的正妹照片。
當App搬家到iPad上執行後,其實不用太擔心,App裡的Yvonne沒有因為放大的iPad而發胖變形。當跑在iPad without retina (768 * 1024 pixel)上,App放大為640*920 pixel的大小顯示在畫面上,邊緣則留黑邊。雖然大致上沒什麼變化,但其實有以下三點值得注意之處:
1. 採用retina圖片,即便在非retina的iPad上。這是因為Ipad畫面如此巨大,就算是非retina,還是比retina版iPhone的640*960大。因此當然可以大方一點, 顯示retina版的圖片
2. 顯示3.5吋,也就是640*960 pixel的App畫面。
3. 沒有顯示狀態列,最上面的20 points被切掉,因此實際的App畫面只有640*920 pixel,左上角的座標為(0, 20 ),這也說明了為何在iPad上少了藍色長方形1號。
當跑在iPad with retina時,則可切換顯示640*920 或 1280 * 1840 pixel,其它一切則和非retina iPad一模一樣。
沒有留言:
張貼留言