显示 iPhone 键盘时调整 UIView 大小,如何操作? [复制]

2023-12-06

我将向您展示一个众所周知的 Whatsapp 的例子 当您触摸文本内部时,键盘会弹出,因此我必须向上移动或移动所有栏并将视图大小调整为一半,这样我仍然可以看到我正在输入的文本和发送按钮

阶段1:http://www.appbank.net/wp-content/uploads/2010/10/WhatsAppMessenger-18.jpg

阶段2:http://www.onetooneglobal.com/wp-content/uploads/2011/02/onetoone_whatsapp_2.png

实现这一目标的最佳方法是什么?




#define kOFFSET_FOR_KEYBOARD 280.0

- (void)keyboardWillHide:(NSNotification *)notif {
    [self setViewMoveUp:NO];
}


- (void)keyboardWillShow:(NSNotification *)notif{
    [self setViewMoveUp:YES];
}


- (void)textFieldDidBeginEditing:(UITextField *)textField {
    stayup = YES;
    [self setViewMoveUp:YES];
}


- (void)textFieldDidEndEditing:(UITextField *)textField {
    stayup = NO;
    [self setViewMoveUp:NO];
}

//method to move the view up/down whenever the keyboard is shown/dismissed
-(void)setViewMoveUp:(BOOL)moveUp
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3]; // if you want to slide up the view
    [UIView setAnimationBeginsFromCurrentState:YES];

    CGRect rect = self.view.frame;
    if (moveUp)
    {
        // 1. move the view's origin up so that the text field that will be hidden come above the keyboard 
        // 2. increase the size of the view so that the area behind the keyboard is covered up.

        if (rect.origin.y == 0 ) {
            rect.origin.y -= kOFFSET_FOR_KEYBOARD;
            //rect.size.height += kOFFSET_FOR_KEYBOARD;
        }

    }
    else
    {
        if (stayup == NO) {
            rect.origin.y += kOFFSET_FOR_KEYBOARD;
            //rect.size.height -= kOFFSET_FOR_KEYBOARD;
        }
    }
    self.view.frame = rect; 
    [UIView commitAnimations];
}

试试这个方法。根据您的要求进行编辑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示 iPhone 键盘时调整 UIView 大小,如何操作? [复制] 的相关文章

  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • 如何在 iOS 8 中关闭两个 UIViewController?

    我正在使用 Objective C 开发 iPhone 应用程序 由于我需要一次关闭两个 UIViewController 所以我使用下面的代码 self presentingViewController presentingViewCon
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 在发生更改事件时将货币格式重新应用到 UITextField

    我正在使用一个包含本地化货币值的 UITextField 我看过很多关于如何使用此功能的帖子 但我的问题是 如何在每次按键后将货币格式重新应用到 UITextField 我知道我可以通过以下方式设置和使用货币格式化程序 NSNumberFo
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • ios8 键盘高度有所不同

    我使用下面的代码来获取键盘高度 该高度在带有 ios8 的 iPhone 5s 设备中与带有 ios7 的 IPhone4s 设备中有所不同 因此 当我在带有 ios8 的 iPhone5s 中点击它时 我的文本字段移动得非常高 而相同的代
  • iPhone 上的语音识别

    我需要开发一个识别语音的 iPhone 应用程序 并根据结果执行进一步的任务 我知道iPhone 3 0不支持语音识别 我需要在服务器端实现语音识别软件 我只知道这个事情 因为我是新手 所以我不知道如何处理 意味着我需要购买哪些软件并在服务
  • iphone sqlite 静态链接?

    有人静态链接 sqlite 而不是使用动态链接 吗 我遇到的问题是 越狱手机的用户没有与普通 iPhone 所采用的 sqlite 版本相同的版本 因此导致崩溃 我假设在我的应用程序中静态链接已知版本的 sqlite 就是答案 我需要全文支
  • ABPeoplePickerNavigationController - 在不使用私有方法/属性的情况下删除“取消”按钮?

    我正在使用 ABPeoplePickerNavigationController 它是 UINavigationController 的子类 在我使用它的上下文中 右侧的默认导航栏按钮 取消 没有任何意义 我找不到禁用或隐藏它的方法 并且无
  • 我何时以及为什么要使用 ARC 将局部变量声明为 __weak?

    Mike Ash 撰写了 ARC 简介 http www mikeash com pyblog friday qa 2011 09 30 automatic reference counting html他在那里介绍了这样的内容 weak
  • iPhone - 如何通过基于度数的位置获取方向

    首先 我在班级中实现了位置管理器功能 并且运行良好 并为我提供了当前位置 从那个位置我得到了如何获得位置度here http www switchonthecode com tutorials getting your location i
  • 如何在 iPhone 应用程序中使用正则表达式以 , (逗号)分隔字符串

    我必须读取包含三列的 csv 文件 在解析 csv 文件时 我得到了这种格式的字符串克里斯托弗 巴斯 为心爱的国家哭泣 期末论文 电子邮件受保护 cdn cgi l email protection 我想将三列的值存储在一个数组中 所以我使
  • 使用 PhoneGap + iPhone 上传文件

    据我所知 PhoneGap 应用程序大部分 如果不是全部 都是 HTML5 CSS JavaScript iPhone 本身不提供上传文件的控件 PhoneGap是否提供任何允许用户上传文件的机制 图片 视频 以 iPhone 为例 我知道
  • UILocalNotification 播放自定义声音

    我在我的应用程序中实现了本地通知 但我只是想知道是否有一种方法可以播放不属于 iPhone 应用程序主包的一部分的声音 基本上在我的应用程序中 我希望用户录制生成本地通知时播放的声音 而不是播放预先录制的或默认的声音 据我所知 这是可以实现
  • 在横向模式下向 UIScrollView 添加子视图

    我有一个以横向模式启动的视图控制器 其中有一个 UIScrollView 我尝试创建子视图并将它们添加到 UIScrollView 但视图的框架大小都是纵向大小 这是我的代码 void viewDidLoad super viewDidLo
  • iPhone SDK - orkut API

    我曾使用 gData 库从 iPhone 中的 Google 联系人中检索联系人信息 同样 我将与 Orkut 合作 有没有像 gData 这样适用于 Orkut 的库 如果是这样 请给我链接 提前致谢 对于 orkut 我们有 orkut
  • iOS 4.0 contentScaleFactor 和比例 - 在 3.1.3 中如何处理?

    我的任务是制作一个在 iOS 4 0 中运行的应用程序再次在 3 1 3 和 3 2 中运行 大多数情况下 它很简单 但处理新 API 的扩展和其他必须传递 返回值的情况很困难 respondsToSelector performSelec
  • 如何使用 iOS 可达性

    我正在开发一个使用网络的 iPhone 应用程序 iPhone 通过 HTTP 请求与我的服务器通信 并且应该可以在 WiFi 和 3G 上运行 我目前使用NSURLConnection initWithRequest向我的服务器发送异步请
  • 在 iOS 中从 ACAccountStore 获取 Facebook uid?

    您好 我想获取 Facebook 用户的 UIDAC帐户商店在 iOS 6 中 self accountStore ACAccountStore alloc init ACAccountType FBaccountType self acc

随机推荐

  • 在 CKEditor 中重新加载页面后保留光标位置

    我在用CKEditor 4 1 在我的项目中 我想在用户重新加载页面后保留编辑器中的光标位置 CKEditor提供 var bookmark editor selection createBookmarks 存储光标位置 但是 如果我使用
  • Visual Studio 2019 中的 Control C++ 标准修订版

    所以我在我的C 项目中使用Visual Studio 2019 我想在编译时控制C 版本 我已将其从 项目 gt 属性 gt C C gt 语言 gt C 语言标准 gt 更改为 当时是在Default ISO C 14 Standard
  • Handsontable 保存公式值

    我想将 Handsontable 集成到我的网站 但是有一个问题 当我尝试保存由 RuleJS 公式支持 创建的数据时 脚本给我一个公式 例如 A1 B1 我试图获得简单数学乘以价格和货币的结果 如何保存表值 而不是从源中保存 workig
  • Carrierwave:filename/store_dir 中的文件哈希和模型 ID

    我在 Rails 4 项目中使用 Carrierwave 其中文件存储用于开发和测试 雾存储 用于存储在 Amazon S3 上 用于生产 我想用这样的路径保存我的文件 model class name part of hash anoth
  • 程序集:文件描述符0或2用于读取用户输入

    我正在学习汇编 并且有不同的文件描述符用于读取用户输入 为了读取键盘输入 我期待文件描述符 0 stdin 但遇到了这个article其中使用了文件描述符 2 stderr Read and store the user input mov
  • 如何在intellij idea中做netbeans的“制作控制器”

    我使用 netbeans 来制作 javafx 应用程序 在 scenebuilder 中更改一些内容并保存到 fxml 后 我切换到 netbeans 右键单击 fxml 并选择 制作控制器 在控制器类中添加或删除一些代码 现在我切换到i
  • 从先序和中序列表重建二叉树

    嗨 我正在尝试重建一棵二叉树 我几乎得到了它 但它抛出了一个错误 我不知道为什么 buildTree Ord a Eq a gt a gt a gt Tree a buildTree Empty buildTree preOrd inOrd
  • RestTemplate 与 ClientHttpRequestInterceptor 会导致 GZIP 压缩两次

    我正在使用 ClientHttpRequestInterceptor 向 Android 项目中 RestTemplate 发出的每个请求添加基本授权标头 我还通过将 Content Encoding 标头设置为 gzip 来压缩请求正文
  • iPhone 上视频之上的 OpenGL 层?

    我正在尝试在 iPhone 上显示全屏视频并用 OpenGL ES 视图覆盖它 基本上 我想要在后台播放视频 同时在其上绘制 OpenGL 图形 我如何实现这一目标 这可能吗 感谢您的帮助 Florian 要使用自定义叠加视图显示摄像头视频
  • 使用 PHP 检测图像中的主要颜色

    我正在尝试复制 Dribbble com 检测图像中主要颜色的功能 在下图中 您可以看到来自 Dribbble com 的屏幕截图 其中显示了左侧图像中的 8 种主要颜色 这是图像中的实际页面http dribbble com shots
  • 刚接触 swift,我的程序按打开就会崩溃

    我在模拟器上按 打开 程序崩溃 并显示侧面板和底部按 打开 会向右滑动并显示 3 个对象 Hello Second World 您的程序崩溃是因为您在代码中添加了断点 如下所示 您可以通过以下方式将其拖到一边来删除所有内容 对所有断点执行相
  • Android ART 运行时是否具有与 Dalvik 相同的方法限制限制?

    Android ART 运行时是否具有与 Dalvik 相同的方法限制限制 目前 主 dex 文件中的方法数量限制为 64k 问题不在于 Dalvik 运行时 也不在于 DEX 文件格式 而在于当前的一组达尔维克指令 具体来说就是各种方法调
  • Java - 自定义哈希图/表的一些要点

    在之前的一些文章中 我问了一些有关 java 中自定义哈希映射 表编码的问题 现在 由于我无法解决它 并且可能是我忘记正确提及我真正想要的东西 所以我总结了所有这些 以使其清晰而准确 我要做的事 我正在尝试为我们的服务器编写代码 在该服务器
  • 使用 Express 将多个数据库查询结果发送到单个视图

    我有一个仪表板视图 dashboard jade 它将显示两个具有不同信息的面板 所有这些信息都应该从数据库中检索 然后发送到视图 假设我有一个路由文件 document js 其中定义了两个操作 exports getAllDocumen
  • 将字符串转换为模板字符串

    是否可以创建一个模板字符串作为普通字符串 let a b b 然后将其转换为模板字符串 let b 10 console log a template b 10 without eval new Function以及其他动态代码生成方式 在
  • 从Python生成电影而不将单个帧保存到文件中

    我想根据在 matplotlib 中的 python 脚本中生成的帧创建 h264 或 divx 影片 这部电影大约有 100k 帧 在网络上的示例中 例如 1 我只见过将每一帧保存为png 然后在这些文件上运行mencoder或ffmpe
  • Numpy 协方差矩阵 numpy.cov

    我正在使用 numpy 并想要计算 ndarray 的协方差矩阵 我正在尝试使用 numpy cov 但没有得到正确的结果 更多详细信息如下 我的 ndarray 是 768x8 其中 8 是我的数据集中的数字特征 当我使用 MATLAB
  • JOBB DirectoryFullException:de.waldheinz.fs.fat.DirectoryFullException:目录已满

    我正在尝试在包含 192 个 jpg 文件 总计约 70 mb 的目录上使用 JOBB 工具 当我运行命令时jobb d C sdk tools dir data k 123456 o com nick app obb pn com nic
  • DOCX4J 插入换行符

    我在 DOCX 中有一个变量 我想用一个值替换它 首先 该变量不是放置在行的开头 而是放置在一些选项卡之后 我的值是邮政地址 我希望街道和邮政编码 城市 在不同的行中具有相同的缩进 街道替换了该行中的变量 邮政编码位于新行中 如下所示 4
  • 显示 iPhone 键盘时调整 UIView 大小,如何操作? [复制]

    这个问题在这里已经有答案了 我将向您展示一个众所周知的 Whatsapp 的例子 当您触摸文本内部时 键盘会弹出 因此我必须向上移动或移动所有栏并将视图大小调整为一半 这样我仍然可以看到我正在输入的文本和发送按钮 阶段1 http www