2017-05-24 2 views
0

J'ai long data modules title qui se chevauchent avec le bouton sur la droite. C'est un short data module title où le titre ne se chevauche pas.Menu déroulant Titre chevauchement avec les boutons de la barre - rapide

Pour les longs modules de données, je wan pour créer un saut de ligne pour aller à la ligne suivante et afficher là il ne se chevauchent

Dans mon code je l'ai déjà mis les MaskIntoConstrains à faux, qu'est-ce doit être fait pour que cette fonctionnalité fonctionne?

code:

func createDropDownMenu() { 

    // create the drop down menu 
    let title = prepareNavigationBarMenuTitleView() 
    prepareNavigationBarMenu(title) 
    updateMenuContentOffsets() 

} 

func prepareNavigationBarMenuTitleView() -> String { 

    // Both title label and image view are fixed horizontally inside title 
    // view, UIKit is responsible to center title view in the navigation bar. 
    // We want to ensure the space between title and image remains constant, 
    // even when title view is moved to remain centered (but never resized). 
    titleView = DropDownTitleView(frame: CGRect(x: 0, y: 0, width: 150, height: 40)) 
    titleView.addTarget(self, 
         action: #selector(DocumentViewController.willToggleNavigationBarMenu(_:)), 
         for: .touchUpInside) 
    titleView.addTarget(self, 
         action: #selector(DocumentViewController.didToggleNavigationBarMenu(_:)), 
         for: .valueChanged) 

    titleView.titleLabel.textAlignment = .left 
    titleView.titleLabel.textColor = UIColor.black 
    titleView.titleLabel.translatesAutoresizingMaskIntoConstraints = false 
    titleView.title = currentNode.title 
    navigationItem.titleView = titleView 
    return titleView.title! 
} 
+0

Essayez ce code titleView.titleLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping label.numberOfLines = 0 –

Répondre

1

Vous n'êtes pas Définition du cadre de Titlelabel, définissez son cadre avec jeu numberofLines = 0 va résoudre votre problème.

Voici le code:

titleView.titleLabel.frame = CGRect(x: 0, y: 0, width: 600, height: 80) 
titleView.numberOfLines = 0 
//Important one 
titleView.titleLabel.text = currentNode.title 

Cela permettra de résoudre votre problème. Appréciez le codage.

+1

C'est fait, merci. – habed