在ios开发时我们会遇到键盘高度无法适应的问题,这时候该怎么解决呢?下面由我教大家怎么解决iOS中的键盘高度变化的问题。
目前成都创新互联公司已为近千家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、湖南网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
完美解决iOS中的键盘适应高度变化的 方法
#pragma mark - reg unreg notification
- (void)regNotification
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
}
- (void)unregNotification
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil];
}
#pragma mark - notification handler
- (void)keyboardWillChangeFrame:(NSNotification *)notification
{
NSDictionary *info = [notification userInfo];
CGFloat duration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
CGRect beginKeyboardRect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
CGRect endKeyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat yOffset = endKeyboardRect.origin.y - beginKeyboardRect.origin.y;
CGRect inputFieldRect = self.inputTextField.frame;
CGRect moreBtnRect = self.moreInputTypeBtn.frame;
inputFieldRect.origin.y += yOffset;
moreBtnRect.origin.y += yOffset;
[UIView animateWithDuration:duration animations:^{
self.inputTextField.frame = inputFieldRect;
self.moreInputTypeBtn.frame = moreBtnRect;
}];
}
通过获取键盘消息的开始状态、结束状态,以及变化周期,可以计算出具体的Y偏移,从而在相同时间里做相同偏移量。
猜你喜欢:
2. 怎样把电脑上的照片导入iphone
3. iphone照片怎么导入电脑
4. 电脑ipad模拟器的安装方法
5. 安卓程序员必备的开发工具
6. iPhone5s怎么刷机
[img]iOS开发之自定义表情键盘(组件封装与自动布局)
iOS开发之自定义表情键盘(组件封装与自动布局)
自定义键盘属于App的扩展功能,添加扩展键盘的步骤如下:
选择自定义扩展键盘,点击Next,会自动创建一个父类是UIInputViewController 的KeyboardViewController文件。
要想app应用和扩展进行通讯,需要创建Appgroup通道,创建方法如下图所示
同样在Targets 下的 app选中也要用同样的方法创建传送通道,app和扩展才可以传递数据。
下面就是画键盘了,键盘可以用xib创建,下面就是我创建的键盘
下面就是监听button点击,进行大小写切换,删除输入等功能。
大小写切换可以自定义一个方法,然后根据传入的是否大写或者小写,返回数组内容,重新给button赋值
监听内容输入到输入框,系统有自己的方法。
"[weakSelf.textDocumentProxyinsertText:content];”
就可以进行监听输入的内容了