2015-07-03 14 views
6

Quando aggiungo un UIToolBar, sembra trasparente. Tuttavia, non voglio che ciò accada. Ecco il mio codice:UIToolBar è trasparente

var done = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: Selector("done")) 

    if let font = UIFont(name: "Avenir", size: 17.0) { 
     done.setTitleTextAttributes([NSFontAttributeName: font], forState: .Normal) 
    } 
    toolBar.items = [done] 
    toolBar.barStyle = UIBarStyle.Default 
    self.birthdayTextField.inputAccessoryView = toolBar 

Sto facendo qualcosa di sbagliato?

risposta

1

provare questo codice per UIToolbar trasparente:

self.toolbar.setBackgroundImage(UIImage(), 
           forToolbarPosition: UIBarPosition.Any, 
           barMetrics: UIBarMetrics.Default) 
self.toolbar.setShadowImage(UIImage(), 
          forToolbarPosition: UIBarPosition.Any) 
+0

Scusate se non sono stato chiaro prima. Non voglio che il mio toolBar sia trasparente. Per qualche ragione, il codice che ho fornito produce uno strumento trasparente. –

0

Questo dovrebbe disattivare l'effetto traslucenza/transpacency

toolbar.translucent = false 
+0

Grazie per la risposta! Ho provato questo, ma ha ancora un effetto trasparente/traslucido. –

3

Dopo aver incontrato questo problema mi sono trovato che la barra degli strumenti deve essere o un'istanza con un non-zero frame, o avere sizeToFit chiamato su di esso.

ad es.

let tb = UIToolbar() 
    tb.translucent = false 
    tb.items = [UIBarButtonItem.init(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil), UIBarButtonItem.init(title: "A button", style: .Plain, target: self, action: Selector("someAction:"))] 
    tb.sizeToFit() 
    userField?.inputAccessoryView = tb 

o

let tb = UIToolbar(CGRectMake(0,0,view.frame.width,44)) 
    tb.translucent = false 
    tb.items = [UIBarButtonItem.init(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil), UIBarButtonItem.init(title: "A button", style: .Plain, target: self, action: Selector("someAction:"))] 
    userField?.inputAccessoryView = tb 
0

Prova questa

toolBar.barStyle = UIBarStyle.Black 

e assicurarsi toolBar.translucent = false