- 代码以及注释如下
import UIKit
class ViewController: UIViewController {
var textView:UITextView!
override func viewDidLoad() {
super.viewDidLoad()
//获取屏幕的宽高
let screenSize = UIScreen.main.bounds.size;
//获取状态栏的宽高
let rect = UIApplication.shared.statusBarFrame;
//创建一个UITextView文本框
self.textView = UITextView(frame: CGRect(x: 0, y: rect.height, width: screenSize.width, height: (screenSize.height - rect.height)/2.0));
// self.textView.backgroundColor = UIColor.red //可以设置背景
self.view.addSubview(textView)
//设置该控件是否具有弹性
// self.textView.bounces = true;
//水平方向上具有弹性
// self.textView.alwaysBounceHorizontal = true;
//垂直方向上具有弹性
// self.textView.alwaysBounceVertical = true;
//创建一个UIToolBar工具条
let topView = UIToolbar(frame: CGRect(x: 0, y: 0, width: screenSize.width, height: 30));
topView.barStyle = .default;
let cancelBtn = UIBarButtonItem(title: "取消", style: .plain, target: self, action: nil);
let doneBtn = UIBarButtonItem(title: "确定", style: .done, target: self, action: #selector(editFinish));
let spaceBtn = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
//一个三个按钮的集合
let buttonsArray = [cancelBtn,spaceBtn,doneBtn];
topView.items = buttonsArray;
//为textView关联的虚拟键盘设置附件
self.textView.inputAccessoryView = topView;
}
func editFinish(){
//关闭虚拟键盘
self.textView.resignFirstResponder();
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
结果点击完成,关闭键盘