私はiOS6での開発を学ぶためにxcode4.5.2を使用しています。drawRectにこのコードがあります...
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGPoint midPoint;
midPoint.x = self.bounds.origin.x + self.bounds.size.width/2;
midPoint.y = self.bounds.origin.y + self.bounds.size.height/2;
... etc
どういうわけか、これをiPhoneシミュレーターで実行すると、結果は常に
midpoint.x = 160
midpoint.y = 252
シミュレーター(iPhone Retina画面)が縦向きモードであるか横向きに回転しているかに関係なく。したがって、結果として、ポートレートモードで描画したグラフィックは画面の中央に正しく配置されますが、ランドスケープでは左側にオフセットされます。
誰かが、なぜこれが当てはまるのかについて、どこから始めればよいのかを提案できますか?
このdrawRectコードは、画面のこの中間点(画面全体にまたがるUIView)を決定するという点で正しく機能する、私が作成した以前のアプリから直接取得されました。この問題は、このコード(クラス全体)を、これらのUIViewのインスタンスにセグエしている現在のプログラムにインポートしたときに発生します。
ありがとう。