当前,当选择文本字段并出现键盘时,会出现以下UIToolBar
let bar = UIToolbar()
let spacer = UIBarButtonItem(barButtonSystemItem: .flexibleSpace,target: nil,action: nil)
let reset = UIBarButtonItem(title: "Tool Bar Text",style: .plain,target: self,action: #selector(functionExample))
reset.tintColor = UIColor.white
bar.barTintColor = UIColor.red
bar.items = [spacer,reset,spacer]
bar.sizeToFit()
exampleTextField = bar
我想调整UIToolBar
的高度以使其占据更多的屏幕,我尝试了以下操作,但似乎什么也没做。
bar.frame = CGRect(x: bar.frame.origin.x,y: bar.frame.origin.y,width: bar.frame.size.width,height: 150)
bar.frame = CGRect(x: 0,y: view.frame.size.height - 80,width: view.frame.size.width,height: 80)
我也尝试过: bar.frame = CGRect(x:myToolbar.frame.origin.x,y: bar.frame.origin.y,宽度:myToolbar.frame.size.width,高度:20)
这两种方法似乎根本不改变高度。
更新2:
所以这种方法似乎可行,但是我只希望它在键盘抬起时出现,而不是在视图控制器第一次打开时出现,
let toolBar = UIToolbar()
var items = [UIBarButtonItem]()
items.append(
UIBarButtonItem(barButtonSystemItem: .flexibleSpace,action: nil)
)
items.append(
UIBarButtonItem(title: "Tool Bar Text",action: #selector(confirmSignature))
)
items.append(
UIBarButtonItem(barButtonSystemItem: .flexibleSpace,action: nil)
)
toolBar.setItems(items,animated: true)
toolBar.tintColor = .white
toolBar.barTintColor = UIColor.red
toolBar.translatesAutoresizingMaskintoConstraints = false
if #available(iOS 11.0,*) {
let guide = self.view.safeAreaLayoutGuide
toolBar.trailingAnchor.constraint(equalTo: guide.trailingAnchor).isactive = true
toolBar.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isactive = true
toolBar.bottomAnchor.constraint(equalTo: guide.bottomAnchor).isactive = true
toolBar.heightAnchor.constraint(equalToConstant: 80).isactive = true
}
else {
NSLayoutConstraint(item: toolBar,attribute: .bottom,relatedBy: .equal,toItem: view,multiplier: 1.0,constant: 0).isactive = true
NSLayoutConstraint(item: toolBar,attribute: .leading,attribute: .trailing,constant: 0).isactive = true
toolBar.heightAnchor.constraint(equalToConstant: 44).isactive = true
}
exampleTextField.inputaccessoryView = toolBar
view.addSubview(toolBar)