web-dev-qa-db-ja.com

Xcodeでナビゲーションバーの高さを増やす方法は?

私は、ナビゲーションバーを保持する必要があるアプリを開発しています。バーにタイトルを書くと、時間とタイトルが非常に近くなります。バーの高さを上げたいと思ったので、息をのむ部屋ができました。

35
Mayur Tolani

select yourViewController-> select yourNavigation Item->Prompt-> Addspaceitincrease**Navigation bar**height

ここで画像を確認してください: enter image description here

プログラム的に

これをviewWillAppearまたはviewDidAppearメソッドに追加します

Objective-C

[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, self.view.frame.size.width,80.0)];

Swift

self.navigationController.navigationBar.frame = CGRectMake(0, 0, self.view.frame.size.width, 80.0)

Swift-3

self.navigationController!.navigationBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 80.0)

iOS 11

enter image description here

目的C

for (UIView *subview in self.navigationController.navigationBar.subviews) {
    if ([NSStringFromClass([subview class]) containsString:@"BarBackground"]) {
        CGRect subViewFrame = subview.frame;
        // subViewFrame.Origin.y = -20;
        subViewFrame.size.height = 100;
        [subview setFrame: subViewFrame];
    }
}

Swift

for subview in (self.navigationController?.navigationBar.subviews)! {
       if NSStringFromClass(subview.classForCoder).contains("BarBackground") {
            var subViewFrame: CGRect = subview.frame
            // subViewFrame.Origin.y = -20;
            subViewFrame.size.height = 100
            subview.frame = subViewFrame

        }

    }
38
Anbu.Karthik

ここで、拡張ナビゲーションバーのApple推奨アプローチを参照してください。

https://developer.Apple.com/library/content/samplecode/NavBar/Introduction/Intro.html

15
Naveen Shan

このソリューションは、Xcode 8.x.x以降では機能しなくなりました!

カスタムナビゲーションを作成せずに高さを増やすこともできます。次の手順に従ってください

ステップ1ストーリーボードまたはXIBでナビゲーションバーを選択します

enter image description here

ステップ2 Identity InspectorからObjectIDをコピーします

enter image description here

ステップ3ソースコードとしてStoryboard/XIBを開く

enter image description here

ステップ4ソースコードでObjectIDを検索し、検索で過去のObjectIDを検索する

enter image description here

ステップ5高さを編集してください! thats all

enter image description here

これがあなたの助けになることを願っています

11
Meghs Dhameliya

次の拡張子をプロジェクトに追加します。

import UIKit

extension UINavigationBar {

    override open func sizeThatFits(_ size: CGSize) -> CGSize {
        return CGSize(width: UIScreen.main.bounds.size.width, height: 80.0)
    }

}
10
odm

Apple proposesnavigationBar自体のサイズを変更せず、バーから影を削除し、navigationBarの下にカスタムビューを追加します。これはほとんどの場合に機能します。 Appleのサンプルを確認してください。

9

これをviewWillAppearメソッドに追加します

CGFloat height = 80;
[self.navigationController.navigationBar setFrame:CGRectMake(0, 0,
self.view.frame.size.width,height)];

最初に増加して元の高さに縮小する場合、このコードをviewDidAppearメソッドに追加します

8

私が間違っていなければ、デフォルトのNavigationBarの高さを変更することはできません。

ただし、カスタムNavigationBarを作成して、カスタムの高さを追加できます。

0
danialzahid94

ビューを表示するたびにナビゲーションバーの高さを変更する必要があるため、viewWillAppearにコードを配置します

override func viewWillAppear(_ animated: Bool) {
     self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 80)
}

ビューの幅として幅を設定し、必要に応じて高さを変更できます。

0
Sandu

ナビゲーションバーを非表示にし、独自にカスタムバーを実装します。そうすれば、希望どおりにスタイルを設定できます。

その方法に関する簡単なチュートリアルがあります: https://www.codeschool.com/blog/2014/11/11/ios-app-creating-custom-nav-bar/

0