0

向きに基づいて境界を取得する方法を見つけようとして、ネット全体を見てきました。通知は正常に機能していますが、次の方法でビューの境界を取得しています。

CGRect cgRect = self.view.bounds;

これは {0, 0}, {320, 460} を返しますが、これは正しいですが、デバイスを回転させると同じ CGRect が返され、まったく異なる値が期待されていました。

self.view でプロパティ autoresizeSubviews を使用しようとしましたが、これは変更されません。

私はこれをすべてコードで行っていますが、ペン先がないため、ナビゲーションバーも移動していません。正しく応答する通知 UIDeviceOrientationDidChangeNotification を使用しています。

4

1 に答える 1

2

これを整理する最善の方法は、デバイスの向きの変更通知に登録してから、次のようにすることです。

UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;

デバイスの向きを返します。これから、ビューを表示するための適切な計算を行うことができます

于 2010-08-16T10:59:24.390 に答える