0

私は現在、最初のアプリに取り組んでおり、UINavigationBarとUITabBarのサイズを変更しました。現在、一般的な表示領域(ViewController、DetailViewControllerなど)に余分なスペースの黒いスペースがあります。この新しいサイズに対応するために表示領域を変更するにはどうすればよいですか?

UINavigationBarとUITabBarの両方に現在どのように新しいサイズを設定しているかを貼り付けました。

/* Get the screenarea of the device */
CGRect screenArea = [[UIScreen mainScreen] applicationFrame];

/* Define the size of the navigation bar */
CGRect viewHeaderbBarFrame = navigationBar.frame;
viewHeaderbBarFrame.origin.y = screenArea.origin.y;
viewHeaderbBarFrame.origin.x = screenArea.origin.x;
viewHeaderbBarFrame.size.height = 44;
viewHeaderbBarFrame.size.width = screenArea.size.width;
navigationBar.frame = viewHeaderbBarFrame;

/* Define the size of the footer bar */
CGRect viewTabBarFrame = tabBar.frame;
viewTabBarFrame.origin.y = screenArea.size.height - 26;
viewTabBarFrame.origin.x = screenArea.origin.x;
viewTabBarFrame.size.height = 46;
viewTabBarFrame.size.width = screenArea.size.width;
tabBar.frame = viewTabBarFrame;

ありがとう。

4

2 に答える 2

1

基本的に、タブバーとナビゲーションバーを縮小することにより、ビューを拡大する必要があります。プライマリナビゲーションにタブバーを使用していると想定しています。

適切なサイズを見つけて、次のようにビューを調整します。

[[self.tabBarController.view.subviews objectAtIndex:0] setFrame:CGRectMake(newX,newY,newWidth,newHeight)];

購入者の注意カテゴリでは、目標がアプリストアである場合、これらの要素の変更に関するガイドラインを確認することをお勧めします。具体的なポイントはよくわかりませんが、アップルは、コアナビゲーション要素をわかりやすく表示するために、そのような変更を加えることを眉をひそめていると思います。

また、このアプローチは現在の画面サイズではうまく機能しますが、噂が真実であり、次の電話の画面が大きい場合は機能しない可能性があります。

よくなって。

于 2012-08-14T03:47:35.027 に答える
1

このようにビューの高さをいじる必要はありません。ビューはナビゲーションバーにプッシュされます。それらのサイズは、320 x 480画面からタブ、ナビゲーション、およびタイトルバーを除いたものに合うように設定する必要があります。また、AutoResizeの幅/高さを柔軟に設定し、左/右/上/下を柔軟性なしに設定する必要があります(省略してください)。

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight

iOSは、すべてがスプリングロードされて相互に固定されるのが好きです。次に、物を回転させると、すべてがくっつき、適切に動きます。彼らはあなたのためにすべての仕事をします。だから、物事を扱う彼らのファンキーな方法を受け入れるのが最善です。インターフェイスビルダーのGUIが役立ちます。必要に応じて、回転をテストすることもできます。また、タブ/ナビゲーション/タイトルバーのオプションも設定できます。または、理解している場合は、手動で行うこともできます。

于 2012-08-14T04:28:11.090 に答える