[解決済み] iOS7 SDKでナビゲーションバーが表示されるようになりました。
質問
CGRect cgRect1 = [[UIScreen mainScreen] applicationFrame];
UISearchBar *mySearchBar = [[UISearchBar alloc]
initWithFrame:CGRectMake(0, 0, cgRect.size.width, 40)];
mySearchBar.autoresizingMask =
UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight ;
UITableView *myTableView = [[UITableView alloc]
initWithFrame:CGRectMake(0, 40, cgRect.size.width, cgRect.size.height-40)];
myTableView.autoresizingMask =
UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[self.view addSubview:mySearchBar];
[self.view addSubview:myTableView];
以前のバージョンでは、正しく動作しています。検索バーが
statusbar
とナビゲーションバーの下に表示されます。そのため
tableview
は検索バーの下に表示される
しかし、これを
Xcode 5 sdk iOS 7
を実行すると、検索バーが表示されず(ステータスバーとナビゲーションバーの下に配置されていると思います)、また、ナビゲーションバーがテーブルビューの上に表示されています。
で修正されるのでしょうか?
iOS 7
安定版リリースで修正されますか?
それとも私のコーディングに問題があるのでしょうか?
それとも、y
(y = statubar height + nav bar height)
の値を
iOS 7
?
私は最近、iOS 7 で私のアプリをテストするために Xcode 5 DP をダウンロードしました。私が最初に気づいて確認したことは、ステータス バーとナビゲーション バーを考慮して、ビューの境界が常にリサイズされないということです。
viewDidLayoutSubviewsで、私はビューの境界を表示します。
{{0, 0}, {320, 568}}
この結果、私のコンテンツはナビゲーションバーとステータスバーの下に表示されることになります。
メイン画面の高さを取得し、ステータス バーの高さとナビゲーション バーの高さを差し引くことによって、高さを自分で計算できることは知っていますが、それは不必要な余分な作業のように思えます。
この問題を経験した人は他にいますか?
UPDATEしてください。
この特定の問題に対する解決策を見つけました。ナビゲーションバーの半透明のプロパティをNOに設定します。
self.navigationController.navigationBar.translucent = NO;
これにより、ナビゲーションバーとステータスバーの下に枠で囲まれたビューが修正されます。
しかし、ナビゲーション バーを半透明にしたい場合の修正方法は見つかっていません。たとえば、写真をフルスクリーンで表示する場合、私はナビゲーション バーを半透明にし、表示をその下の枠に収めたいと考えています。しかし、ナビゲーションバーの表示/非表示を切り替えると、さらに奇妙な結果が発生しました。最初のサブビュー (
UIScrollView
) は、その境界の y 原点が毎回変更されます。
どのように解決するのか?
それは完全に正しいわけではありません。iOS 7 で導入された新しいプロパティがあり、以前のバージョンの iOS のようにレイアウトの動作を調整することができます。このコード片をビュー コントローラーに配置すれば、うまくいくはずです。ナビゲーションバーが占めるスペースは自動的に計算されるはずです。
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
上記を
-(void)viewDidLoad
メソッドに追加する必要があります。
注意:APIがベータ版から変更されているため、現在はiOS 7の最新のGMリリースとXcode 5を使用する必要があります。
関連
-
[解決済み] iOS7でスタイルUITableViewStyleGroupedを持つUITableViewの上部に余分なパディングがあるのはなぜですか?
-
[解決済み] 私のアプリケーションは「暗号を含む」のでしょうか?
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] Mobile Safariで電話番号のリンクを無効にする方法を教えてください。
-
[解決済み】iOS 7: UITableViewがステータスバーの下に表示される
-
[解決済み] UIScrollViewでスクロールの方向を見つける?
-
[解決済み] CGFloatとfloatを使うことの違いは何ですか?
-
[解決済み] iPhone/iPadのディスクの空き容量を確認する方法を教えてください。
-
[解決済み] viewWillAppear:と-viewDidAppear:の違いは何ですか?
-
[解決済み] Xcodeは私のiOSデバイスを見ませんが、iTunesは見ます。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] iOS7でスタイルUITableViewStyleGroupedを持つUITableViewの上部に余分なパディングがあるのはなぜですか?
-
[解決済み】iPhoneアプリでiOS 7のステータスバーをiOS 6のデフォルトスタイルに戻す?
-
[解決済み] iOSシミュレータでファイルシステムを確認する方法はありますか?
-
[解決済み] iOSでHTMLをNSAttributedStringに変換する
-
[解決済み] プロダクションコードでNSLog()を使ってはいけないというのは本当ですか?
-
[解決済み] 静的ライブラリのObjective-Cカテゴリ
-
[解決済み] 再署名 IPA (iPhone)
-
[解決済み] UIViewのサブビューをセンタリングする方法
-
[解決済み] UILabelがラベルサイズに合うようにテキストを自動縮小しない
-
[解決済み] all_loadリンカーフラグは何をするのですか?