工具栏上的“完成”按钮有时会消失,有时会变成白色

时间:2018-08-22 01:20:25

标签: ios swift uibarbuttonitem uitoolbar

我在iOS swift项目中的键盘上方有一个工具栏。当我单击thorugh我的应用程序并转到某些页面,然后使用工具栏转到某个页面时,完成按钮消失了。如果您单击页面上的另一个文本字段,它将返回,直到您返回将其弄乱的应用程序页面。如果删除弹性空间按钮,它将永远不会消失。我已经检查了工具栏的框架大小,但它似乎从未改变。该按钮有时也会变成白色。不知道如果有人有任何想法怎么办?此congifureToolbar()在viewdidload中调用。我也尝试在viewdidappear中调用它,并尝试调用layoutSubviews。 inputToolbar只是一个UIToolbar()。我尝试使用自定义的xib工具栏,自定义的xib视图,第三方库工具栏,但没有任何区别。

func configureToolBar() {
    inputToolbar.barTintColor = UIColor.groupTableViewBackground
    inputToolbar.barStyle = .default
    inputToolbar.isTranslucent = false
    inputToolbar.sizeToFit()
    inputToolbar.tintColor = UIColor(red: 0/255, green: 102/255, blue: 252/255, alpha: 1.0)
    inputToolbar.setShadowImage(AppColors.shared.tableViewSeparatorColor.as1ptImage(), forToolbarPosition: .any)

    let doneButton = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(dismissKeyboard))
    let flexibleSpaceButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
    let fixedSpaceButton = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)

    doneButton.tintColor = UIColor(red: 0/255, green: 102/255, blue: 252/255, alpha: 1.0)
    doneButton.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor(red: 0/255, green: 102/255, blue: 252/255, alpha: 1.0)], for: .normal)
    let nextButton  = UIBarButtonItem(image:  imageLiteral(resourceName: "toolbar-down"), style: .plain, target: self, action: #selector(moveToNextInput))
    nextButton.tintColor = AppColors.shared.blackColor
    nextButton.width = 50.0
    let previousButton  = UIBarButtonItem(image:  imageLiteral(resourceName: "toolbar-up"), style: .plain, target: self, action: #selector(moveToPreviousInput))
    previousButton.tintColor = AppColors.shared.blackColor

    inputToolbar.setItems([fixedSpaceButton, previousButton, fixedSpaceButton, nextButton, fixedSpaceButton, doneButton], animated: false)
    inputToolbar.isUserInteractionEnabled = true
}

如果我没有放置一个灵活的空格按钮,而是放置了一个固定的空格按钮,那么我可以看到完成的按钮正被推离屏幕,因为我可以将其部分切除。

0 个答案:

没有答案