【已使用】使用UIToolbar为表单控件添加完成按钮

时间:2020-11-13  来源:浏览器  阅读:

在很多应用中,例如iPhone自带的Safari浏览器,当我们点击表单输入框时,软件盘右上方会有一个完成按钮,点击完成按钮可以关闭当前软键盘,当表单页面内容比较长,软键盘覆盖了表单提交按钮时,提供一个隐藏当前表单的操作变得相当有用,那么这个功能是如何实现的呢,如下图:

ios.oss-cn-shenzhen.aliyuncs.com/6e14b7dc797a9e440c1d.gif" />

其实这个功能实现起来相当简单,使用内置的UIToolBar控件即可,接下来我们为UITextField或者UITextView控件实现一个类似的效果,我们不妨以UITextField为例:

1. 在Storyboard中添加一个UITextField控件,如下图:

ios.oss-cn-shenzhen.aliyuncs.com/465ec12d29725c11d600.png" />

然后为这个控件设置一个@IBOutlet成员属性:

@IBOutlet weak var textField: UITextField!
 2. 为这个textField添加一个UIToolbar子控件:

let toolbar = UIToolbar()
//使toolbar大小适应键盘大小
toolbar.sizeToFit()
toolbar.tintColor = self.view.tintColor

// 为这个按钮绑定一个关闭键盘的事件函数
let done = UIBarButtonItem.init(barButtonSystemItem: .Done, target: self, action: "keyboardOff") ;

// 为了使按钮具有现实,填充一个flexble占位按钮
let flexbleButton = UIBarButtonItem.init(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil) ;
toolbar.items = [flexbleButton, done] ;
self.textField.inputAccessoryView = toolbar;
 3. 完成点击事件:

我们需要在点击该按钮的时候,关闭当前软件,那么需要实现第二步添加的keyboardOff函数,当按钮被点击的时候此函数会相应:

/**
 按钮点击回调
 */
func keyboardOff(){
 self.textField.resignFirstResponder()
}

【已使用】使用UIToolbar为表单控件添加完成按钮

http://m.bbyears.com/bangongshuma/110208.html

推荐访问:在使用 的使用
相关阅读 猜你喜欢
本类排行 本类最新