1

UILabel が起動時にスプラッシュ画面のグラフィックスに干渉しないように、UILabel を画面解像度 (iPhone v iPad) に対して相対的に配置しようとしています。アプリが iPhone のみの場合、ラベルは適切に配置されていました。アプリがユニバーサル化されると、ラベルがiPadの画像に干渉しました(もちろん)

私は以下の方法を使用していますが、これは問題なく機能しますが、新しいデバイスや新しい画面解像度に関してはあまり前向きではありません。

以下のリンクにある添付画像の赤丸で囲まれた領域内に UILabel「Connecting to Server...」を表示するより効率的な方法を誰かが提案できますか (ここに画像を投稿するための認証はまだありません)。

   UILabel *loadingLabel;

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    loadingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 350, self.window.frame.size.width, 20)];
}
else
{
    loadingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 700, self.window.frame.size.width, 20)];

}
loadingLabel.text = @"   Connecting to Server...";
loadingLabel.textAlignment = UITextAlignmentCenter;
loadingLabel.textColor = [UIColor whiteColor];
loadingLabel.backgroundColor = [UIColor clearColor];

スプラッシュスクリーン

4

1 に答える 1

0

autoresizingMaskプロパティを使用してそれを実現できます。ラベルにorigin.yを設定してくださいself.window.bounds.size.height - 200。次に、をに設定autoresizingMaskしますUIViewAutoresizingMakFlexibleBottomMargin

于 2012-10-30T14:36:43.160 に答える