J'utilise actuellement Swift dans Xcode 6, Beta 5. J'essaie de supprimer la barre de titre, ou toute différence visible entre la barre de titre et le contenu réel. Si j'active "Titre unifié et barre d'outils "dans l'inspecteur d'attributs sur une fenêtre, rien ne se passe visiblement. J'ai déjà laissé le titre.
Lorsqu'aucun titre n'est entré, la barre de titre sera toujours reconnaissable en raison de la ligne de bordure et de la différence d'arrière-plan avec le reste de la fenêtre, la séparant du contenu réel.
Un excellent exemple serait l'application Yosemite actuelle, OS X 10.10, Notes. Aucune barre de titre n'est visible ou distinguable, juste les boutons Fermer, Réduire et Redimensionner comme on le voit ici.
J'ai cherché et visité d'autres postes, mais en vain.
Ceux qui ont mentionné masquer complètement la barre de titre, mais je ne saurais pas comment ajouter manuellement les boutons Fermer, Réduire et Redimensionner correctement, ce qui signifie qu'ils auraient l'air corrects, pas réels, remplacements et connexions d'images sournoises avec les fonctions Fermer, Réduire et Redimensionner de la barre de menus.
Cochez la case Barre de titre transparente dans la fenêtre d'inspection.
Voici à quoi cela ressemble dans le Storyboard. Il se présente de la même manière lorsque vous générez et exécutez l'application.
Le nouveau masque de style de fenêtre NSFullSizeContentViewWindowMask
ajouté dans OS X 10.10 fera l'affaire.
self.window.titleVisibility = NSWindowTitleVisibility.Hidden;
self.window.titlebarAppearsTransparent = YES;
self.window.styleMask |= NSFullSizeContentViewWindowMask;
Pour 10.10+, vous pouvez les utiliser:
window.titlebarAppearsTransparent = true
window.movableByWindowBackground = true
Il y avait un exemple de projet officiel pour l'apparence des fenêtres à Yosemite. Vous voudrez peut-être le vérifier.
Pour Swift 3: -
self.window.titleVisibility = .hidden
self.window.titlebarAppearsTransparent = true
self.window.styleMask.insert(.fullSizeContentView)
Vous pouvez les utiliser:
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.titlebarAppearsTransparent = true
self.view.window?.movableByWindowBackground = true
}
Mise à jour sept. 2017, taget 10.11:
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.titleVisibility = .hidden
self.view.window?.titlebarAppearsTransparent = true
self.view.window?.styleMask.insert(.fullSizeContentView)
}
Je n'ai pas assez de réputation pour commenter la réponse de Ranfei Songs, mais sous OSX 10.12, la syntaxe du titleVisibility est légèrement différente, au lieu de cela:
self.window.titleVisibility = NSWindowTitleVisibility.Hidden;
vous devrez utiliser NSWindowTitleHidden à la place, donc la mise à jour du code de Ranfei vous obligerait à spécifier ceci comme ceci:
self.window.titleVisibility = NSWindowTitleHidden;
self.window.titlebarAppearsTransparent = YES;
self.window.styleMask |= NSFullSizeContentViewWindowMask;