Dans Swift 3, j'ai créé par programmation une barre d'outils (en bas) avec des boutons personnalisés séparés par une entretoise flexible pour séparer les boutons personnalisés, en poussant un ("Précédent") vers le bord gauche et l'autre ("Suivant") vers le bord droit de la vue. Mais je n'ai pas réussi à afficher les titres des boutons ("Précédent" et "Suivant"). Conseillez-moi, s'il-vous-plaît. Merci. Voici mon code:Pourquoi les titres des boutons de la barre d'outils créés par programmation (en bas) ne s'affichent-ils pas?
En premier lieu, la déclaration de classe et quelques variables:
class TextsController: UIViewController,UIGestureRecognizerDelegate {
let textWebView = WKWebView(frame: .zero)
var toolbar:UIToolbar?
Ensuite, dans le viewDidLoad:
view = textWebView
// Create (bottom) toolbar:
let frame = CGRect(x: 0, y: UIScreen.main.bounds.size.height-44, width: UIScreen.main.bounds.size.width, height: 44)
toolbar = UIToolbar(frame: frame)
toolbar?.sizeToFit()
toolbar?.isHidden = true
self.view.addSubview(toolbar!)
self.toolbar?.isTranslucent = false // Required for setting tintColor & barTintColor below
toolbar?.tintColor = UIColor(red: 0.5, green: 0.0, blue: 1.0, alpha: 1.0) //purple for toolbar items
toolbar?.barTintColor = UIColor.white //white for toolbar color
let triangleLeftButton = UIBarButtonItem(image: UIImage(named: "triangleLeft_15x20"), style: .plain, target: self, action:#selector(showPrevious))
let flexibleSpacer = UIBarButtonItem(barButtonSystemItem:.flexibleSpace , target: self, action: nil)
let triangleRightButton = UIBarButtonItem(image: UIImage(named: "triangleRight_15x20"), style: .plain, target: self, action:#selector(showNext))
triangleLeftButton.title = "Previous"
triangleRightButton.title = "Next"
var items = [UIBarButtonItem]()
items.append(triangleLeftButton)
items.append(flexibleSpacer)
items.append(triangleRightButton)
toolbar?.items = items
En imaginant une image avec un titre en dessous, vous pouvez confondre un UIBarButtonItem avec un UITabBarItem. – matt
Merci pour votre réponse. Mais j'ai l'intention de faire en sorte que le texte (ce que j'ai appelé "title") change dynamiquement, en fonction du texte actuellement affiché dans WKWebView. Par exemple, si je suis actuellement sur la page 2, je veux que le bouton triangleLeft affiche "1" et le bouton triangleRight pour afficher "3" (j'ai simplement utilisé "Previous" et "Next" comme espaces réservés provisoires plus tard). J'ajouterai plus tard des fonctionnalités pour que ces boutons invoquent la page 1 ou la page 3 sur WKWebView. Donc, faire partie des mots souhaités de l'image personnalisée n'aide pas. – WilliamP
Allez-y et "l'intention" que. Mais ce n'est pas ce qu'un UIBarButtonItem _is_. La réalité survient. – matt