inputAccessoryView's UIToolbar turns black when rotating in iOS
Asked Answered
T

1

6

Here is my code:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let keyBoardToolBar = UIToolbar(frame: CGRectMake(0, 0, self.view.frame.size.width, 44))
    keyBoardToolBar.barStyle = .Default

    let flexSpaceKeyboardBarButtonItem = UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)

    let doneKeyboardBarButtonItem = UIBarButtonItem(title: "Done", style: .Done, target: self, action: nil)

    let wordKeyboardBarButtonItem = UIBarButtonItem(title: "Button 1", style: .Plain, target: self, action: nil)

    var barItems: [UIBarButtonItem] = []
    barItems.append(wordKeyboardBarButtonItem)
    barItems.append(flexSpaceKeyboardBarButtonItem)
    barItems.append(doneKeyboardBarButtonItem)

    keyBoardToolBar.setItems(barItems, animated: true)

    self.myTV.inputAccessoryView = keyBoardToolBar
}

And when I am turning the device, the UIToolBar become black: (click to see this GIF again)

black

So is there anyway to fix it? Thanks!

BTW: In Simulator I cannot see UIToolBar turning black.

Traitor answered 15/12, 2015 at 12:59 Comment(0)
T
6

Fixed by adding: (still unclear about the reason causing it though)

keyBoardToolBar.isTranslucent = false
keyBoardToolBar.barTintColor = UIColor(colorLiteralRed: (247/255), green: (247/255), blue: (247/255), alpha: 1)

(UIColor(colorLiteralRed: (247/255), green: (247/255), blue: (247/255), alpha: 1) is the default background color of the UIToolBar from here)

Traitor answered 15/12, 2015 at 13:20 Comment(2)
This did it for me. What an obscure bugCustos
My issue was fixed just by setting .translucent, didn't even need tint color. Super weird bug.Cero

© 2022 - 2024 — McMap. All rights reserved.