2016-11-21 63 views
0

我注意到,苹果时钟应用程序的标题上有一个细条,可以很好地将它与内容分开,并使界面看起来略微3D。我想在我自己的导航栏上复制这个,但看不到这样做的方法?我将如何实现这一目标将分隔符添加到UINavigationBar - iOS

timer

my app

+0

你可以把UIView(高度c onstraint等于1,宽度约束等于超级视图宽度)在UINavigation Bar下。 –

+0

看看这个http://stackoverflow.com/questions/26390072/remove-border-in-navigationbar-in-swift –

+0

谢谢,但多数民众赞成如何删除寄宿生?我想添加它 – infernouk

回答

3

我创建的UINavigationBar的一个扩展,以显示或隐藏分隔线。 默认情况下,我注意到UINavigationBar默认情况下有一个分隔符。

守则雨燕2.3

extension UINavigationBar { 

func hideNavBarSeperator() 
{ 
    let img = UIImage() 
    self.shadowImage = img 
    self.setBackgroundImage(img, forBarMetrics: UIBarMetrics.Default) 
} 

func showNavBarSeperator() 
{ 
    let img = UIImage.pixelImageWithColor(UIColor.redColor())//Use Any Color 
    self.shadowImage = img 
} 
} 

extension UIImage { 
class func pixelImageWithColor(color: UIColor) -> UIImage { 
    let rect = CGRectMake(0.0, 0.0, 1.0, 1.0) 
    UIGraphicsBeginImageContext(rect.size) 
    let context = UIGraphicsGetCurrentContext() 

    CGContextSetFillColorWithColor(context!, color.CGColor) 
    CGContextFillRect(context!, rect) 

    let image = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return image! 
} 
} 

这里是如何使用它:

yourNavigationBar.hideNavBarSeperator()

yourNavigationBar.showNavBarSeperator()