`
prevention
  • 浏览: 74072 次
社区版块
存档分类
最新评论

iOS Dev (54) 键盘弹出后收起时View随之移动

ios 
阅读更多

iOS Dev (54) 键盘弹出后收起时View随之移动

-

添加监听

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(changeContentViewPosition:)
                                             name:UIKeyboardWillShowNotification
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(changeContentViewPosition:)
                                             name:UIKeyboardWillHideNotification
                                           object:nil];

移除监听

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

事件处理函数

- (void) changeContentViewPosition:(NSNotification *)notification{

    NSDictionary *userInfo = [notification userInfo];
    NSValue *value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGFloat keyBoardEndY = value.CGRectValue.origin.y;

    NSNumber *duration = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
    NSNumber *curve = [userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];

    [UIView animateWithDuration:duration.doubleValue animations:^{
        [UIView setAnimationBeginsFromCurrentState:YES];
        [UIView setAnimationCurve:[curve intValue]];
        self.view.center = CGPointMake(self.view.center.x, keyBoardEndY - STATUS_BAR_HEIGHT - self.view.bounds.size.height/2.0);
    }];
}

Reference

  • http://www.cnblogs.com/programmer-blog/p/3265110.html
0
0
分享到:
评论

相关推荐

    解决IOS端微信H5页面软键盘弹起后页面下方留白的问题

    最近微信和ios都有版本升级,不知道是哪边升级造成的,但是经过测试,软键盘收起后,再滚动一下页面,下面的留白就会消失。所以只要在输入完毕后模拟一下这个“滚动”的操作,就能解决问题了。 如果是用vue写的: &...

    ios-键盘弹出.zip

    "ios-键盘弹出.zip"这个压缩包文件显然聚焦于如何在iOS应用中优雅地处理键盘的显示和隐藏,以及通过代理和通知来传递值。让我们深入探讨一下这些关键知识点。 首先,键盘在iOS应用中的展示与隐藏是一个常见的需求。...

    ios-键盘弹起后自适应布局动画View.zip

    这个“ios-键盘弹起后自适应布局动画View.zip”项目旨在解决这个问题,提供一种优雅的方式来处理键盘出现时的界面自适应。在iOS应用设计中,用户体验至关重要,确保用户在键盘弹出时仍能清晰地看到并操作其他界面...

    iOS textField弹出自定义键盘(日期时间、省市、国家)

    同时,确保将这个自定义键盘关联到`textField`的`inputView`属性,这样当`textField`获取焦点时,自定义键盘就会自动弹出。 二、省市选择键盘的实现 省市选择键盘通常包含省份和城市的列表,用户可以逐级选择。...

    ios应用源码之点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内

    为了解决这个问题,iOS提供了多种方法来处理键盘弹出时视图的自动调整,以确保输入框始终可见。以下是一些相关的知识点和实现策略: 1. **UIKeyboardNotification**:苹果提供了UIKeyboardWillShowNotification和...

    ios-键盘上弹出控件.zip

    在iOS开发中,当用户需要在屏幕上输入信息时,键盘会自动弹出。这个过程涉及到很多重要的知识点,包括用户界面设计、键盘管理、输入视图(InputView)以及自定义键盘实现等。以下是对这些关键点的详细说明: 1. ...

    ios-弹出一个View.zip

    在iOS开发中,"弹出一个View"是一个常见的任务,用于显示临时通知、用户输入界面或者进行特定操作的交互。这个场景中提到的"ios-弹出一个View.zip"可能包含了一个示例项目,用于演示如何在应用中实现这种功能。下面...

    点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容_IOS应用源码.rar

    这份"点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容"的iOS应用源码,就展示了如何实现这一功能。 首先,我们需要理解苹果提供的UIKeyboardNotifications,这是iOS系统提供的一组通知...

    html5手机键盘弹出收起的处理

    在 h5 项目中,我们会经常遇到一些表单页面,在输入框获取焦点时,会自动触发键盘弹起,而键盘弹出在 IOS 与 Android 的 webview 中表现并非一致,同时当我们主动触发键盘收起时也同样存在差异化。 键盘弹出 IOS:...

    IOS 解决输入框被键盘遮挡问题

    标题"iOS解决输入框被键盘遮挡问题"直指这一常见痛点,描述指出了解决方案——在键盘弹出时,界面向上移动以确保输入框始终可见。以下将详细阐述如何处理这个问题。 首先,我们需要理解iOS中的键盘管理机制。当用户...

    iOS项目开发键盘弹出遮挡输入框问题解决方案

    iOS项目开发中经常出现键盘弹出遮挡输入框问题,这个问题的处理方法可以分为两部分:文本框输入完整的响应过程和键盘的弹出与收起。 首先,我们需要控制UITextField和UITextView的输入输出,需要借助其对应的代理...

    禁止手机自带键盘弹出 显示数字键盘

    标题“禁止手机自带键盘弹出 显示数字键盘”所涉及的核心知识点是自定义键盘和系统键盘的控制。在移动应用开发中,有时开发者为了提供更个性化的用户体验或特定功能需求,会选择自定义输入键盘替代手机系统自带的...

    iOS 弹出视图

    在iOS开发中,弹出视图(Popup View)是一种常见的用户界面元素,它可以在主界面之上显示临时的信息、选项或操作。这种设计模式通常用于显示警告、确认对话框或者提供额外的功能选择。本文将深入探讨iOS中实现弹出...

    iOS-Github上15种弹出视图(Popup View)源码

    在iOS开发中,弹出视图(Popup View)是一种常见的用户界面元素,它通常用于显示临时的通知、选项菜单或者模态对话框。本资源集合包含了从GitHub上精选的15种不同的弹出视图源码,这对于开发者来说是一个宝贵的参考...

    ios-自适应键盘弹出的textView和textField.zip

    项目中总有很多地方需要对输入文本textField和textView做键盘适配,即当键盘升起时可能需要将输入文本上移,键盘消失则归位。 个人多次拷贝同样代码,秉着不重复造轮子原则,封装了一个视图,解决了问题。 ...

    自定义的View始终位于弹起键盘顶部

    当键盘弹出时,我们需要将自定义的视图移动到键盘之上。这涉及到调整视图的层次结构,可以通过`bringSubviewToFront:`方法将自定义视图置于所有其他视图之前,确保它不会被键盘遮挡。 3. **键盘尺寸获取**: 在...

    iOS 获取系键盘

    本文将深入探讨如何在iOS应用中获取并处理系统键盘,包括键盘的高度和弹出速度,以及如何实现与第三方键盘的兼容。 首先,我们需要理解iOS中的键盘机制。苹果提供了UIKit框架,其中包含`UIKeyboard`类,虽然这个类...

    ios-键盘不覆盖UITextField和UITextView输入框.zip

    在iOS开发中,当用户需要在UITextField或UITextView中输入时,键盘的弹出会遮挡部分内容,特别是当这些输入控件位于UIScrollView等可滚动视图上时。标题"ios-键盘不覆盖UITextField和UITextView输入框.zip"所提及的...

    ios-仿QQ弹出框的demo.zip

    5. 当需要显示弹出框时,将内容控制器的view添加到父视图控制器的view上,使用presentViewController:animated:completion:方法进行呈现。 此外,为了让弹出框具有更好的交互性,开发者还会考虑触摸事件的传递和...

Global site tag (gtag.js) - Google Analytics