将分隔符添加到UINavigationBar-iOS
我注意到apple clock应用程序的标题上有一个细条,将其与内容很好地分开,并使界面看起来有点3D。我想在我自己的导航栏上复制它,但找不到这样做的方法?我将如何实现这一点将分隔符添加到UINavigationBar-iOS,ios,iphone,swift,uinavigationbar,Ios,Iphone,Swift,Uinavigationbar,我注意到apple clock应用程序的标题上有一个细条,将其与内容很好地分开,并使界面看起来有点3D。我想在我自己的导航栏上复制它,但找不到这样做的方法?我将如何实现这一点 我在UINavigationBar上创建了一个扩展,用于显示或隐藏分隔线。 默认情况下,我注意到UINavigationBar默认有一个分隔符 extension UINavigationBar { func hideNavBarSeparator() { let image = UIImage
我在UINavigationBar上创建了一个扩展,用于显示或隐藏分隔线。 默认情况下,我注意到UINavigationBar默认有一个分隔符
extension UINavigationBar {
func hideNavBarSeparator() {
let image = UIImage()
shadowImage = image
setBackgroundImage(image, for: UIBarMetrics.default)
}
func showNavBarSeparator() {
let img = UIImage.pixelImageWithColor(color: UIColor.red)
shadowImage = img
}
}
extension UIImage {
class func pixelImageWithColor(color: UIColor) -> UIImage? {
let rect = CGRect(x: 0, y: 0, width: 1, height: 1)
UIGraphicsBeginImageContext(rect.size)
guard let context = UIGraphicsGetCurrentContext() else { return nil }
context.setFillColor(color.cgColor)
context.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
以下是如何使用它:
yourNavigationBar.hideNavBarSeparator()
yourNavigationBar.showNavBarSeparator()
我在UINavigationBar上创建了一个扩展来显示或隐藏分隔线。 默认情况下,我注意到UINavigationBar默认有一个分隔符
extension UINavigationBar {
func hideNavBarSeparator() {
let image = UIImage()
shadowImage = image
setBackgroundImage(image, for: UIBarMetrics.default)
}
func showNavBarSeparator() {
let img = UIImage.pixelImageWithColor(color: UIColor.red)
shadowImage = img
}
}
extension UIImage {
class func pixelImageWithColor(color: UIColor) -> UIImage? {
let rect = CGRect(x: 0, y: 0, width: 1, height: 1)
UIGraphicsBeginImageContext(rect.size)
guard let context = UIGraphicsGetCurrentContext() else { return nil }
context.setFillColor(color.cgColor)
context.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
以下是如何使用它:
yourNavigationBar.hideNavBarSeparator()
yourNavigationBar.showNavBarSeparator()
您可以将UIView(高度约束等于1,宽度约束等于超级视图宽度)放在UINavigation栏下。请看一看,谢谢,但这就是移除边界的方法?我想添加它你可以将UIView(高度约束等于1,宽度约束等于超级视图宽度)放在UINavigation栏下。看看这个谢谢,但这就是如何移除边界的方法?我想补充一下