2015-07-03 4 views
6

Wenn ich eine UIToolBar hinzufüge, scheint es transparent zu sein. Ich möchte jedoch nicht, dass dies geschieht. Hier ist mein Code:UIToolBar ist transparent

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 

Mache ich etwas falsch? Transparent

Antwort

1

versuchen, diesen Code für UIToolbar:

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

Sorry, wenn ich vorher nicht klar war. Ich möchte nicht, dass meine Werkzeugleiste transparent ist. Aus irgendeinem Grund erzeugt der von mir bereitgestellte Code eine transparente ToolBar. –

0

Dies sollte die Transluzenz/transpacency Wirkung

toolbar.translucent = false 
+0

Vielen Dank für die Antwort! Ich habe das versucht, aber es hat immer noch eine transparente/transluzente Wirkung. –

3

Nachdem kommen in dieser Frage ich mich, dass die Symbolleiste deaktivieren muss entweder mit einem instanziiert werden Nicht-Null-Rahmen, oder sizeToFit aufgerufen haben.

z.B.

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 

oder

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

Versuchen Sie, diese

toolBar.barStyle = UIBarStyle.Black 

und stellen Sie sicher, toolBar.translucent = false