Я установил цвет оттенка UIToolBar для некоторого значения, и есть эта граница, которую я вижу, в которой я хочу удалить:
Как удалить эту черную рамку >
Я установил цвет оттенка UIToolBar для некоторого значения, и есть эта граница, которую я вижу, в которой я хочу удалить:
Как удалить эту черную рамку >
Правильный ответ тоталитарный... К вашему сведению. fooobar.com/questions/62284/...
Мой ответ все еще ниже для справки.
Вот что я сделал с моей белой фоновой панелью инструментов...
whiteToolBar.layer.borderWidth = 1;
whiteToolBar.layer.borderColor = [[UIColor whiteColor] CGColor];
Возможно, вы могли бы сделать то же самое с вашим цветом вместо этого.
Вы можете сделать следующее:
self.navigationController.toolbar.clipsToBounds = YES;
toolbar1.clipsToBounds = YES;
Работал для меня, если кто-то все еще пытается использовать навигационную панель
setShadowImage - [UIImage new]
Настройка стиля для UIBarStyleBlackTranslucent сделала это для меня (iOS 6)
создайте четкое изображение с разрешением 1 пиксель x 1 пиксель и назовите его clearPixel.png
toolbar.setShadowImage(UIImage(named: "clearPixel.png"), forToolbarPosition: UIBarPosition.any)
это не работает последовательно в версиях iOS, похоже, не работает на iOS7. я ответил на это в другом вопросе: fooobar.com/questions/62288/..., и вы можете изменить это решение, чтобы просто удалить тень фона (и оставить свой toolbar.backgroundColor
любым цветом, который вам нравится)
Я немного смутился с этими ответами, но мне не хватало точки, что вы использовали Outlet, поэтому просто чтобы быть ясным, это быстрый код, который я использовал, чтобы скрыть границу:
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 top border
ToolBar.clipsToBounds = true
}
}
Я перетащил панель инструментов в нижней части представления для этого, и это не верхняя панель навигации, к которой относятся другие вопросы.
В методе clipsToBounds
выполняется сжатие тени UIToolBar, а также фонового представления. На iPhone X это означает, что фон больше не выходит за пределы безопасная область.
В приведенном ниже решении используется маска для клипа только в верхней части UITabBar. Маска отображается в подклассе UIToolBar, а кадр маски обновляется с переопределением 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)
}
}
navigationController?.toolbar.barTintColor = .white
navigationController?.toolbar.setShadowImage(UIImage(), forToolbarPosition: .any)