1

カスタムの高さのナビゲーション バーがアプリ全体で使用されているプロジェクトがあるため、高さが 44 ピクセルではなく 62 ピクセルになっています。ストーリーボード エディター (インターフェイス ビルダー) を使用してビューを構築およびレイアウトしようとしていますが、ビュー コントローラー オプションのシミュレートされたメトリックの下でナビゲーション バーに設定されたトップ バー属性を使用すると、これはカスタムではなくデフォルトの 44px になります。高さのナビゲーションバー (64px) 欲しいです。

このようにして、すべてのビュー作業領域が異なるサイズで表示され、常に超過するかどうかを計算する必要があります。

残りのスペースで作業する必要がある正確な高さを維持しながら、シミュレートされたメトリックとカスタムの高さの navbar サブクラスの両方を適切に使用できる方法はありますか?

4

2 に答える 2

4

Xcodeでシミュレートされたメトリックをカスタム値に変更することはできません。カスタムナビゲーションバーを設計して、ナビゲーションの代わりにどこにでもコピーすることも可能ですが、その後はシミュレートされなくなります。または、に入ると少しハックすることができます

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/PrivatePlugIns/IDEInterfaceBuilderCocoaTouchIntegration.ideplugin/Contents/Resources

CocoaTouchConstraints.plist このファイルで、の値を目的の値に設定できますNavigationBar。したがって、高さが60のナビゲーションバーが必要な場合は、最大および最小の高さを60に設定します。

<key>NavigationBar</key>
    <dict>
        <key>MaximumSize</key>
        <string>{10000, 60}</string>
        <key>MinimumSize</key>
        <string>{0, 60}</string>
    </dict>

保存した後、 Xcodeを再起動する必要があり、NavigationBarは希望の高さになります。

于 2013-01-17T18:54:27.113 に答える
0

恐れ入りますが、実際にはそれを行うことはできません。同様の動作を行い、インターフェイスビルディングで直接自動レイアウトと制約を修正したい場合は、カスタムナビゲーションバークラスのシンプルなビューを正しいメトリックで追加してください(これは正しく機能します)ナビゲーションバーはUIViewから継承するため、問題ありません)ビューを追加し、カスタムクラスを設定し、ナビゲーションバーとビューの上部オブジェクトの両方に制約を追加するだけです。

于 2013-01-19T05:00:37.343 に答える