J'ai défini la couleur de teinte UIToolBar sur une valeur et il y a cette ligne de bordure que je vois dans laquelle je veux supprimer:
Comment puis-je supprimer cette bordure noire>
La bonne réponse est celle du totalitaire ... FYI. https://stackoverflow.com/a/14448645/627299
Ma réponse est toujours en dessous pour référence.
Voici ce que j'ai fait avec ma barre d'outils d'arrière-plan WHITE ...
whiteToolBar.layer.borderWidth = 1;
whiteToolBar.layer.borderColor = [[UIColor whiteColor] CGColor];
Vous pourriez peut-être faire la même chose avec votre couleur à la place.
Vous pouvez faire comme ça:
self.navigationController.toolbar.clipsToBounds = YES;
toolbar1.clipsToBounds = YES;
A travaillé pour moi au cas où quelqu'un essaie encore avec la barre de navigation
setShadowImage à [UIImage nouveau]
Définir le style sur UIBarStyle Black Translucent l’a fait pour moi (iOS 6)
créez une image claire de 1 pixel x 1 pixel et appelez-la clearPixel.png
toolbar.setShadowImage(UIImage(named: "clearPixel.png"), forToolbarPosition: UIBarPosition.any)
cela ne fonctionne pas toujours sur les versions d'iOS, ne semble pas fonctionner sur iOS7. J'ai répondu à cela dans une autre question: https://stackoverflow.com/a/19893602/452082 et vous pouvez modifier cette solution pour supprimer simplement l'ombre de l'arrière-plan (et laisser votre toolbar.backgroundColor
quelle que soit la couleur de votre choix)
Je suis un peu confus avec ces réponses mais je ne comprenais pas que vous utilisiez un point de vente, alors pour que tout soit clair, voici le code Swift que j'ai utilisé pour masquer la bordure:
import UIKit
class ViewController: UIViewController {
//MARK Outlets
@IBOutlet weak var ToolBar: UIToolbar!
//MARK View Functions
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Hide the bottom toolbar's top border
ToolBar.clipsToBounds = true
}
}
J'avais traîné une barre d'outils au bas d'une vue pour cela et ce n'est pas la barre de navigation supérieure à laquelle d'autres questions font référence.
La technique clipsToBounds
coupe l'ombre de UIToolBar ainsi que la vue d'arrière-plan. Sur un iPhone X, cela signifie que l’arrière-plan ne dépasse plus la zone safe .
La solution ci-dessous utilise un masque pour ne découper que le haut de la barre UITabBar. Le masque est rendu dans une sous-classe UIToolBar et le cadre du masque est mis à jour dans un remplacement de layoutSubviews
.
class Toolbar: UIToolbar {
fileprivate let maskLayer: CALayer = {
let layer = CALayer()
layer.backgroundColor = UIColor.black.cgColor
return layer
}()
override init(frame: CGRect) {
super.init(frame: frame)
initialize()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initialize()
}
fileprivate func initialize() {
layer.mask = maskLayer
// Customize toolbar here
}
override func layoutSubviews() {
super.layoutSubviews()
// height is an arbitrary number larger than the distance from the top of the UIToolbar to the bottom of the screen
maskLayer.frame = CGRect(x: -10, y: 0, width: frame.width + 20, height: 500)
}
}