iOS 8 Swift Xcode 6 du sommet de la barre de navigation bg de la couleur et de la hauteur
J'ai cherché partout et testé tous les extraits de code affiché sur la Pile, mais rien ne fonctionne pour moi comme j'en ai besoin pour travailler.
Je veux simplement définir:
- De la barre de navigation hauteur
- De la barre de navigation bg couleur en RVB
- De la barre de navigation centrée logo
Je travaille avec iOS8, Xcode 6 et Swift.
Merci beaucoup pour une réponse claire!
C'est mon code dans le ViewController.swift
//Set nav bar height
navigationController?.navigationBar.frame.origin.y = -10
//Set nav bar bg color
var navBarColor = UIColor(red: 4 / 255, green: 47 / 255, blue: 66 / 255, alpha: 1)
navigationController?.navigationBar.barTintColor = navBarColor
//Set nav bar logo
let navBarImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 30, height: 30))
navBarImageView.contentMode = .ScaleAspectFit
let navBarImage = UIImage(named: "navBarLogo.png")
navBarImageView.image = navBarImage
navigationItem.titleView = navBarImageView
Au lieu d'appeler barre de navigation.titleView changer navigationItem.titleView, et pour changer le cadre de l'appel navigationController.navigationBar.cadre.....Assurez-vous de définir une image pour l'imageView ou elle ressemblera à rien de ce qui s'est passé!
Merci! Maintenant, la couleur et le bg de l'image est au travail, mais je ne peux pas semblent de personnaliser la hauteur de la barre de navigation? Voir mise à jour du code.
Merci! Maintenant, la couleur et le bg de l'image est au travail, mais je ne peux pas semblent de personnaliser la hauteur de la barre de navigation? Voir mise à jour du code.
OriginalL'auteur Erik Lydecker | 2015-02-24
Vous devez vous connecter pour publier un commentaire.
De la barre de navigation hauteur:
Coutumier de la manette de navigation sous-classe...
L'astuce c'est de ne PAS modifier la hauteur de la barre de navigation et au lieu de régler son origine.
De la barre de navigation bg couleur en RVB:
Coutumier de la manette de navigation sous-classe...
ou utiliser l'apparence proxy
De la barre de navigation centrée logo
Dans un affichage personnalisé contrôleur...
Laissez-moi savoir si vous rencontrez des problèmes avec quoi que ce soit 🙂
Veuillez voir mon edit pour le post. Merci!
Ce n'est pas fiable. Voir le lien pour la raison. Vous avez besoin de sous-classe. stackoverflow.com/a/28708356/4577867
Hauteur personnalisée ne fonctionne pas.
OriginalL'auteur DBoyer
Après l'application du code de la accepté de répondre, la hauteur ne semble pas changer du tout..
Ce n'est pas une tâche facile...et j'ai sondé plusieurs articles en ligne (la plupart d'entre eux en Objective-C).
Le plus utile est celui-ci: http://www.emdentec.com/blog/2014/2/25/hacking-uinavigationbar
Mais sa dernière solution ne permet pas de mettre des articles dans le milieu, et il n'est pas en Swift.
Donc je viens avec une pratique de la version en Swift. Espérons que cela aide certaines personnes que j'ai été sauvé tant de temps précieux sur.
Solution Swift:
Le code suivant permettra de résoudre certains problèmes que vous avez rencontrés:
Vous avez besoin à la sous-classe le UINavigationBar d'abord, et dans votre scénarimage, sélectionnez la barre de navigation élément, et dans le d'Identité"Inspecteur" onglet, définissez la nouvelle classe comme la Classe Personnalisée
Aussi sur mon gist: https://gist.github.com/pai911/8fa123d4068b61ad0ff7
iOS 10 mise à Jour:
Malheureusement, ce code pauses dans iOS 10, il y a quelqu'un qui aide à fixer, ici, vous allez:
iOS 10 hauteur de la barre de navigation personnalisée
Et pour être clair, ce code est une sorte de hacky car il dépend de la barre de navigation interne de la structure...donc, si vous décidez de l'utiliser de toute façon, être préparé pour tous les changements à venir qui risquent de casser ce code...
Ps, de l'esprit, en expliquant pourquoi vous êtes en utilisant tous les initialiser des fonctions?
Qui va transformer toutes les coordonnées de la barre de navigation en haut de la touche [shift] points (il y a deux params dans CGAffineTransformMakeTranslation, , le 1er est pour x, le 2ème est pour Y)
pour ajouter un logo dans la barre de navigation, pls voir ce tutoriel: ioscreator.com/tutorials/customizing-navigation-bar-ios8-swift
C'est la meilleure réponse dans ce fil.
OriginalL'auteur John the Traveller
Grande réponse de Bon Bon!
Dans Swift 3 cependant, assurez-vous de remplacer
avec
Sinon, il l'habitude de travailler.
OriginalL'auteur AndreasLukas