web-dev-qa-db-fra.com

Comment augmenter la hauteur de la barre de navigation dans Xcode?

Je travaille sur une application dans laquelle je dois conserver une barre de navigation. Lorsque j'écris un titre sur la barre, l'heure et le titre se rapprochent un peu. Je voulais augmenter la hauteur du bar afin qu'il puisse avoir un peu de répit.

35
Mayur Tolani

sélectionnez votre ViewController -> sélectionnez votre élément de navigation -> Invite -> Ajouter espace le ) augmente le height de **Navigation bar**

Vérifiez l'image ici: enter image description here

par programme

Ajoutez ceci dans la méthode viewWillAppear ou viewDidAppear

Objective-C

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

Rapide

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

Objectif 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];
    }
}

Rapide

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

Veuillez vous référer à l’approche Apple pour la barre de navigation étendue ici),

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

15
Naveen Shan

CETTE SOLUTION NE FONCTIONNE PLUS DANS Xcode 8.x.x et versions ultérieures!

vous pouvez également augmenter la hauteur sans créer la navigation personnalisée suivez les étapes suivantes

Étape 1 Sélectionnez la barre de navigation dans Storyboard ou XIB

enter image description here

Étape 2 Copiez l'ObjectID de l'inspecteur d'identité

enter image description here

Étape 3 Ouvrez Storyboard/XIB en tant que code source

enter image description here

Étape 4 Recherchez ObjectID dans le code source après ObjectID dans la recherche

enter image description here

Étape 5 Modifiez la hauteur! c'est tout

enter image description here

J'espère que cela vous aidera

11
Meghs Dhameliya

Ajoutez l'extension suivante à votre projet:

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 propose ne pas redimensionner navigationBar lui-même, mais supprime l'ombre de la barre et ajoute une vue personnalisée sous votre navigationBar. Cela peut fonctionner dans la plupart des cas. Vérifiez les échantillons d'Apple.

9
Timur Bernikovich

Ajouter ceci dans la méthode viewWillAppear

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

si elle augmente d'abord et se réduit à la hauteur d'origine, ajoutez ce code dans la méthode viewDidAppear

8
Abhishek Thapliyal

Vous ne pouvez pas changer la hauteur de la valeur par défaut NavigationBar si je ne me trompe pas.

Bien que vous puissiez créer un NavigationBar personnalisé et lui ajouter une hauteur personnalisée.

0
danialzahid94

Nous devons modifier la hauteur de la barre de navigation à chaque fois que la vue est affichée.Pour mettre le code sur viewWillAppear

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

nous pouvons définir la largeur comme largeur de la vue et modifier la hauteur à votre guise.

0
Sandu

Je voudrais masquer la barre de navigation et en implémenter une personnalisée. De cette façon, vous pourrez le personnaliser exactement comme vous le souhaitez.

Il existe un tutoriel simple expliquant comment faire cela: https://www.codeschool.com/blog/2014/11/11/ios-app-creating-custom-nav-bar/

0