Interface Builder を使用してスクロールビューでシンプルな UI を描画しました。viewDidLoad で、スクロールビューのフレーム CGRect プロパティの x、y、幅、高さを次のように読み取ります。
NSLog(@"x=%f,y=%f,w=%f,h=%f",self.detailScrollView.frame.origin.x,self.detailScrollView.frame.origin.y,self.detailScrollView.frame.size.width,self.detailScrollView.frame.size.height);
(もちろん、以前はすべてを適切に @syntheized しており、正しい IBOutlets などがあります。)
しかし、読み取り値を見て、それらをインターフェイス ビルダーの値と比較すると、y 座標について少し混乱します。他のすべて (x、幅、高さ) は問題ありません。
これは NSLog からの出力です。
2012-08-06 15:52:40.481 xxxxx[1471:207] x=20.000000,y=147.000000,w=280.000000,h=293.000000
しかし、スクロールビューのインターフェイス ビルダーからの実際の値は次のとおりです。 X=20 Y=59 幅=280 高さ=293 (スクリーン キャプチャを投稿できません)。
y 値が 88 オフセットされている理由はありますか? (NSLog の 147 からインターフェイス ビルダーの 59 を引いたもの) ありがとう