我認爲statusBarFrame
和applicationFrame
完全相互補充以形成整個屏幕的邊界。該框架的值是相對於「原始」縱向屏幕座標(我認爲是屏幕的邊界)。因此,例如,當一臺iPad旋轉倒置的爲什麼從兩個不同的對象獲取applicationFrame和statusBarFrame?
NSLog(@"the status bar frame is %@",
NSStringFromCGRect([[UIApplication sharedApplication] statusBarFrame]));
NSLog(@"the applicationFrame is %@",
NSStringFromCGRect([[UIScreen mainScreen] applicationFrame]));
輸出
the status bar frame is {{0, 1004}, {768, 20}}
the applicationFrame is {{0, 0}, {768, 1004}}
但一個問題是,如何互爲補充,來自兩個不同的對象這兩個值來:應用程序實例和UIScreen
實例,但不是來自同一個對象? (比如,來自UIScreen
的對象?)
如果這兩個幀屬於同一個對象,它會有意義嗎? (考慮所有權)。這兩個框架看起來像兄弟姐妹,如果使用你的模擬,有一個共同的父母,有點像一張桌子和一把互相補充的椅子 –