私は長い間、良い答えが見つからない質問をしてきました。
横向きと縦向き、または 3.5 インチまたは 4 インチのディスプレイを備えた iPhone など、さまざまなユーザー インターフェイスを構築することは可能ですか (そうしなければなりません! ;)。
コードで言うように、これは横向きのインターフェースで、これは縦向きのインターフェースです...
これには簡単な方法があることを願っています。:)
ドイツ、ミュンヘンからよろしくお願いします
ローレンツ
私は長い間、良い答えが見つからない質問をしてきました。
横向きと縦向き、または 3.5 インチまたは 4 インチのディスプレイを備えた iPhone など、さまざまなユーザー インターフェイスを構築することは可能ですか (そうしなければなりません! ;)。
コードで言うように、これは横向きのインターフェースで、これは縦向きのインターフェースです...
これには簡単な方法があることを願っています。:)
ドイツ、ミュンヘンからよろしくお願いします
ローレンツ
これが私のやり方です。configureViewForOrientation:
インターフェイスを設定する方向をパラメータとして受け取るという関数を作成しました。
-(void)configureViewForOrientation:(UIInterfaceOrientation)orientation
{
if (UIInterfaceOrientationIsPortrait(orientation))
{
//set up portrait interface
}
else
{
//set up landscape interface
}
}
このメソッドは、viewDidLoad
(または最初にインターフェイスを設定した場所)から呼び出し、次を使用して現在の方向にフィードできます[UIApplication sharedApplication].statusBarOrientation
。
-(void)viewDidLoad
{
[super viewDidLoad];
[self configureViewForOrientation:[UIApplication sharedApplication].statusBarOrientation];
}
デバイスが回転しているときに呼び出すこともできます。
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
[self configureViewForOrientation:toInterfaceOrientation];
}
いくつかの注意点があります(アプリの起動直後にデバイスの向きを確認しているかどうかなど)が、これはほとんどの場合機能するはずです。