2017-03-24 62 views
0

我找到了,上面左邊的UINavigationBarBackIndicatorView!我想刪除它或CGRect.Zero。謝謝!在iOS中,如何在UINavigationBar中刪除UINavigationBarBackIndicatorView?

enter image description here

地址:

在層次結構添加leftItem前:

enter image description here

後,我在層次結構添加一個leftItem:

let button = UIButton(frame: CGRect(x: 0, y: 0, width: 44, height: 44)) 
let image = UIImage(named: "search-icon-blue") 
button.setImage(image, for: .normal) 
let leftItem = UIBarButtonItem(customView: button) 

let spaceItem = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil) 
spaceItem.width = -10 

navigationItem.leftBarButtonItems = [spaceItem, leftItem] 

enter image description here

當按鈕被點擊時,它變得黑暗! 但是當我點擊左側區域時它不會變暗,我想原因是它在上面的UINavigationBarBackIndicatorView! 所以,我想刪除它!

+0

你是怎麼加入這個'UINavigationBar'? – nayem

+0

此代碼位於UIViewController中,UIViewControler是UINavigationController的RootViewController! – swordjoy

+0

這裏'spaceItem'的用途是什麼? – nayem

回答

-1

設置 self.navigationItem.backBarButtonItem =的UIBarButtonItem(標題: 「」,風格:UIBarButtonItemStyle.plain,目標:無,作用:無)

+0

這不是工作... – swordjoy

2

試試這個代碼:

self.navigationItem.leftBarButtonItems = nil 
self.navigationController?.navigationBar.setNeedsLayout() 
+0

它仍然在這裏。 – swordjoy

+0

你可以在你關於這個實際控制器的問題上添加更多的信息,以及你曾經試過的代碼嗎? –

+0

好。你有沒有嘗試在'viewDidAppear'中啓動這個代碼? –

0

Objective- C:

self.navigationItem.leftBarButtonItems = nil; 
[self.navigationController.navigationBar setNeedsLayout]; 

或者你可以使用:

self.navigationController.navigationBar.backItem.hidesBackButton = YES; 
[self.navigationController.navigationBar setNeedsLayout]; 

斯威夫特:

self.navigationItem.leftBarButtonItems = nil 
self.navigationController?.navigationBar.setNeedsLayout() 
+0

它仍然在這裏! – swordjoy

+0

您是使用'NavigationController'還是隻使用'NavigationBar'? – nayem

+0

我加我的問題。 – swordjoy