2015-09-01 2 views
0
availableButton.frame = CGRectMake(0, screenHeight - tabBarHeight!, CGFloat(screenWidth/5.0) * 2.0, tabBarHeight!) 
    availableButton.backgroundColor = FlatGreen() 
    availableButton.setTitle("Turn On", forState: UIControlState.Normal) 
    availableButton.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) 
    availableButton.titleLabel?.font = UIFont(name: "Roboto-Bold", size: 20.0) 
    self.view.addSubview(availableButton) 

Это кнопка, которую я добавил в свой TabBarViewController.Как скрыть пользовательскую кнопку, которую я добавляю в UITabBar?

Когда я скрыть Tab Bar:

tabBarController?.tabBar.hidden = true 

Я хочу, чтобы эта кнопка будет скрыта, а также.

Моя кнопка - это ширина двух элементов панели табуляции.

enter image description here

+0

вы добавляете эту кнопку на self.view, поэтому скрытие вкладки не скроет кнопку на главном экране –

+0

@Racheel, где я могу добавить ее в тогда? – TIMEX

+0

покажите нам какой-нибудь дизайн, что вы хотите добиться, пока вы можете сделать экземпляр этой кнопки и скрыть его, когда скрываете свою вкладку –

ответ

1

let tabBarContext = UnsafeMutablePointer<()>()

self.tabBar.addObserver(self, forKeyPath: "hidden", options: NSKeyValueObservingOptions.New, context:tabBarContext)

override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) { 
    if context == tabBarContext && keyPath == "hidden"{ 
     let newChange = change[NSKeyValueChangeNewKey] as! Int 
     self.availableButton.hidden = (newChange == 1) ? true :false 
    } 
} 
3

Вы добавили эту кнопку, чтобы ваш взгляд, возможно, это очень плохой подход к работе.

self.view.addSubview(availableButton) 

как таба за ним, поэтому он показывает. Либо это объявление TabBar с помощью tabBarItem или скрыть эту кнопку вручную

availableButton.hidden = YES; 

Ваша проблема будет solved.Thank вы

+0

Это. Дополнительно, если вы хотите скрыть «tabBar» в нескольких местах, напишите новый метод на вашем контроллере, который выполняет эту работу, и просто вызовите этот метод, возможно, с параметром (скрытие/показ). Это не позволит вам забыть скрыть кнопку, например. –

+0

Можно ли добавить кнопку в TabBar вместо self.view? – TIMEX

+0

Да вы можете использовать tabBarItem вместо uibutton, он работает, чтобы перейти к любому другому ViewController – baydi

Смежные вопросы