3

iOS 6 と iOS 7 の両方のユーザー インターフェイスをサポートするために、アプリケーションの大幅な書き直しに着手しています。アプリケーションのスプラッシュ スクリーンには、モーダル ビュー コントローラがあり、UINavigationBarこれが表示され、ユーザーが Google (OAuth) でログインできるようになります。Xcode 5 を使用して両方のバージョンを作成し ([File Inspector] タブを使用)、保守性の理由からストーリーボードを優先して xib を使用しています - バージョン 1 はストーリーボードを使用しており、アプリが成長するにつれてしばらくナビゲートするのが困難でしたサイズと範囲で。

Xcode 5 の場合:

iOS6: iOS 6 インターフェイス ビルダー xib

iOS 7: iOS 7 インターフェイス ビルダー xib

そして、アプリケーションを実行すると、iOS 6 バージョンが正しく表示されます (ステータス バーがまだ明確であり、時計とナビゲーション バーの間に正しい間隔があるため)。

iOS 6 実行中

しかし、iOS 7 バージョンでは、別の「ステータス バー」がなくなったため、UINavigatonBarタイトルのテキストが時計に近すぎることに注意してください。

iOS 7 実行中

これまでのところ、誰もがこれをどのように調整していますか? Facebook や Twitter などのアプリは既にアップグレードされており、ビューとステータス バーの区別の欠如を補う「拡張された」(正しい用語かどうかはわかりません) ナビゲーション バーを使用していることに気付きました。

Twitter のアップグレードされたナビゲーション バー

彼らはどのようにこれを達成しましたか? Apple の iOS 7 UI 移行ガイドラインでこれに対処する具体的なものは見当たりません。ありがとう!

4

2 に答える 2

0
UINavigationBar *aNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
aNavigationBar.barStyle = UIBarStyleBlackOpaque;
self.flipsideNavigationBar = aNavigationBar;
[aNavigationBar release];

UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(toggleView)];
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Taschenlampe"];
navigationItem.rightBarButtonItem = buttonItem;
[flipsideNavigationBar pushNavigationItem:navigationItem animated:NO];
[navigationItem release];
[buttonItem release];


- (IBAction) toggleView {
}
于 2014-07-04T07:54:12.807 に答える
0

クイックアンサー:

UINavigationController を使用してください! これで問題が解決します。できない場合は、autolayout を使用してください。

于 2013-09-20T21:09:30.013 に答える