1

ユーザーがアプリケーションを初めて起動したときの初期画面として UIView (UIImageView を使用) を追加しようとしています。ただし、タブバーを非表示にしたり、フレームを画面外に移動したりした後でも、UIView はタブバーがまだそこにあるかのように切り取られます。

これらのコード ブロックは両方とも同じ結果を生成しました。

[appDelegate.tabBarController.tabBar setFrame:CGRectMake(0,1000,0,0)];
[self setView:InitialView];

[appDelegate.tabBarController.tabBar setHidden:YES];
[self setView:InitialView];

実際のインシデントのスクリーンショットは次のとおりです。

ここに画像の説明を入力

この問題を解決する方法を知っている人はいますか?この数時間、私はこれについて頭を悩ませていましたが、どうすることもできません。

4

2 に答える 2

1

おそらく、このタブバーコントローラー内にビューのビューコントローラーがあると思います。その結果、ビュー コントローラーのビューは、タブ バー コントローラーのビュー内に収まるように適切にサイズ設定されます。タブ バーのフレームを取得し、ビューの現在の高さ + タブ バーの高さでビューの高さを調整してみませんか?

補足として、私はInitialViewUIView (またはサブクラス) インスタンスであると想定しています。のように、クラスのインスタンスに小文字で名前を付けてからキャメルケースで処理するのは、オブジェクト指向プログラミングの標準的な規則initialViewです。参考までに。

于 2012-04-21T19:57:55.793 に答える
0

UITabBarController を考慮に入れる必要がある App Delegate を参照してみてください。サブビューとしての UIImageView だけで、完了したら削除します。明らかに AppDelegate をインポートする必要があります。

AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];

[imageView addSubview:appDelegate.window];
于 2012-04-21T20:02:32.843 に答える