第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何隱藏UINavigationBar 1 px底線

如何隱藏UINavigationBar 1 px底線

HUWWW 2019-07-05 16:46:41
如何隱藏UINavigationBar 1 px底線我有一個(gè)應(yīng)用程序,有時(shí)需要它的導(dǎo)航欄,以融入內(nèi)容。有人知道如何擺脫或改變這個(gè)討厭的小酒吧的顏色嗎?在下面的圖片中,我說(shuō)的是“根視圖控制器”下面的1 px高度線。
查看完整描述

3 回答

?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊

要做到這一點(diǎn),您應(yīng)該設(shè)置一個(gè)自定義陰影圖像。但是要顯示陰影圖像,還需要設(shè)置一個(gè)自定義背景圖像,引用Apple的文檔:

對(duì)于要顯示的自定義陰影圖像,還必須使用setBackoundImage(_:for:)方法設(shè)置自定義背景圖像。如果使用默認(rèn)背景圖像,則不管此屬性的值如何,都將使用默認(rèn)陰影圖像。

因此:

let navigationBar = navigationController!.navigationBar
navigationBar.setBackgroundImage(#imageLiteral(resourceName: "BarBackground"),
                                                        
         for: .default)navigationBar.shadowImage = UIImage()

以上是唯一的“官方”方式來(lái)隱藏它。不幸的是,它消除了酒吧的半透明。

我不想要背景圖像,只想要顏色

你有這樣的選擇:

  1. 純色,無(wú)半透明:

    navigationBar.barTintColor = UIColor.redColor()navigationBar.isTranslucent = falsenavigationBar.setBackgroundImage(UIImage(), 
    for: .default)navigationBar.shadowImage = UIImage()
  2. 創(chuàng)建充滿顏色的小背景圖像并使用它。

  3. 使用下面描述的‘hacky’方法。它還將保持酒吧半透明。

如何保持酒吧的半透明?

為了保持半透明,你需要另一種方法,它看起來(lái)像一個(gè)黑客,但工作良好。我們要去除的陰影是一條發(fā)際線UIImageView在下面的某個(gè)地方UINavigationBar..我們可以找到它,并在需要時(shí)隱藏/展示它。

下面的說(shuō)明假設(shè)您需要只隱藏在您的一個(gè)控制器中的發(fā)際線。UINavigationController等級(jí)制度。

  1. 聲明實(shí)例變量:

    private var shadowImageView: UIImageView?
  2. 查找此陰影(發(fā)際線)的Add方法UIImageView:

    private func findShadowImage(under view: UIView) -> UIImageView? {
        if view is UIImageView && view.bounds.size.height <= 1 {
            return (view as! UIImageView)
        }
    
        for subview in view.subviews {
            if let imageView = findShadowImage(under: subview) {
                return imageView        }
        }
        return nil}
  3. 添加/編輯viewWillAppear/viewWillDisappear方法:

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
    
        if shadowImageView == nil {
            shadowImageView = findShadowImage(under: navigationController!.navigationBar)
        }
        shadowImageView?.isHidden = true}override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
    
        shadowImageView?.isHidden = false}

同樣的方法也適用于UISearchBar發(fā)際線,(幾乎)任何你需要隱藏的東西:)

非常感謝“獅子座娜丹”這個(gè)創(chuàng)意!


查看完整回答
反對(duì) 回復(fù) 2019-07-05
?
冉冉說(shuō)

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

如果您只想使用堅(jiān)實(shí)的導(dǎo)航欄顏色,并在您的故事板中設(shè)置了此顏色,請(qǐng)?jiān)谀?/trans>AppDelegate類以通過(guò)外觀代理刪除1像素邊框:

[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init]
                                  forBarPosition:UIBarPositionAny
  barMetrics:UIBarMetricsDefault];[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];


查看完整回答
反對(duì) 回復(fù) 2019-07-05
  • 3 回答
  • 0 關(guān)注
  • 759 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)