我想從服務器上下載一張圖片,並將其設置爲iphone4s的全屏,我使用UIScreen *mainScreen = [UIScreen mainScreen];
並使用此主屏幕來獲取大小(960x640)。當應用程序啓動時,我將代碼插入AppDelegate。爲什麼我的UIScreen和UIWindow尺寸不匹配?
if (im!=nil){
UIImageView *splashScreen = [[UIImageView alloc] initWithImage:im];
[self.window addSubview:splashScreen];
[UIView animateWithDuration:3 animations:^{splashScreen.alpha = 0.99;}
completion:(void (^)(BOOL)) ^{
[splashScreen removeFromSuperview];
}];
}
我注意到的大小是不正確的話,我註銷self.window的大小,發現窗口的大小是小320x480。這怎麼發生的?
這裏是我得到的尺寸:
UIScreen *mainScreen = [UIScreen mainScreen];
UIScreenMode *ScreenMode = [mainScreen currentMode];
CGSize size = [ScreenMode size];
CGFloat screenWidth = size.width;
CGFloat screenHeight = size.height;
顯示如何從'UIScreen'獲得大小。尺寸應該是點(而不是像素),所以兩者都應該是320x480。 – rmaddy
使用'UIScreen bounds'來獲取像'UIWindow'一樣大小的點。 'UIScreenMode'以像素爲單位。在這兩個屬性的文檔中明確指出了這一點。 – rmaddy