0

私のメイン ビューでは、フレームの下部に通常の UIToolbar を追加しますが、横向きでは小さくなりませんか? これは、風景の画像を提供していないためですか、それとも他に何か不足していますか? UINavigationController の他のすべてのツールバーは、すべて横向きにサイズが変わります。

これを画面に追加する方法は次のとおりです。

toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT-64, SCREEN_WIDTH, 44)];
toolbar.translatesAutoresizingMaskIntoConstraints = YES;
[self.view addSubview:toolbar];
[self setupToolbarItems];

setupToolbarItems は、バー ボタンの画像をいくつか作成して設定するだけです。

4

2 に答える 2

6

自分で追加した UIToolbar は、魔法のように高さを変更しません。そうする場合は、アプリの向きの変化に応じて自分で高さを変更する必要があります。

バーの高さが変化するという、あなたが観察した動作は UINavigationController の機能です。方向の変更に応じて、ナビゲーション バーとツールバーの高さを変更します (私の本で説明されているように: http://www.apeth.com/iOSBook/ch25.html#SBbarMetrics )。ただし、この UIToolbar は UINavigationController に属していないため、その高さは自動的に変更されません。それはあなた次第です。

于 2013-03-18T04:49:47.887 に答える
2

これは、toolBar のフレームを作成しているが、ビューが回転したときにフレームを再度設定していないためです。を使用して画面がいつ回転するかを確認する必要があります[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resize) name:UIDeviceOrientationDidChangeNotification object:nil];

次に、-(void)resize;メソッドで、ツールバーのサイズを新しいウィンドウのサイズに変更する必要があります。

于 2013-03-18T04:51:03.173 に答える