在很多应用中,例如iPhone自带的Safari浏览器,当我们点击表单输入框时,软件盘右上方会有一个完成按钮,点击完成按钮可以关闭当前软键盘,当表单页面内容比较长,软键盘覆盖了表单提交按钮时,提供一个隐藏当前表单的操作变得相当有用,那么这个功能是如何实现的呢,如下图:
ps://dailyios.oss-cn-shenzhen.aliyuncs.com/6e14b7dc797a9e440c1d.gif" />
其实这个功能实现起来相当简单,使用内置的UIToolBar控件即可,接下来我们为UITextField或者UITextView控件实现一个类似的效果,我们不妨以UITextField为例:
1. 在Storyboard中添加一个UITextField控件,如下图:
然后为这个控件设置一个@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()
}
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级