トップ «前の日記(2012-09-29) 最新 次の日記(2012-10-02)» 編集

Cocoa練習帳

iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど

2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|

2012-10-01 [iOS]画面遷移(画面サイズ)

先日のビューによる画面遷移では、二通りに画面サイズを取得するコードがあったと思うが、その値を見てみる事にする。

CGRect  screenBounds = [[UIScreen mainScreen] applicationFrame];
DBGMSG(@"screenBounds:(%f, %f, %f, %f)",
    screenBounds.origin.x,
    screenBounds.origin.y,
    screenBounds.size.width,
    screenBounds.size.height);
CGRect  windowBounds = [[UIScreen mainScreen] bounds];
DBGMSG(@"windowBounds:(%f, %f, %f, %f)",
    windowBounds.origin.x,
    windowBounds.origin.y,
    windowBounds.size.width,
    windowBounds.size.height);

後の話で出てくるが、注目すべきは、screenBoundsはステータスバー分、Y軸方向に20下がっている。この事が、nibを使った場合に、気をつけないと行けない事になるが、詳しくは次の機会で。

補足の説明だ。

frameは上位ビューの座標系の値となっている。なので、Y軸の値はステータスバー分、下がっている。boundsはローカル座標系の値なので、上位との位置関係を考慮しないので、原点(0, 0)からの値となっている。

windowのサイズは画面一杯にする。なので、ステータス分は考えない、画面のサイズを設定する。ビューは、表示される領域のサイズにしないと、その部分は隠れてしまう。サンプルでも、そのようにしている。

_ ソースコード

GitHubからどうぞ。
https://github.com/murakami/workbook/tree/master/ios/TransitionView - GitHub

_ 【Cocoa練習帳】

http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)

トップ «前の日記(2012-09-29) 最新 次の日記(2012-10-02)» 編集