UITextView 上的 beginResponder 不起作用

2023-12-29

由于某种原因,我无法将文本字段设置为第一响应者。

我有一个包含两行的 UITableView。每行都有一个标签和一个 UITextField。文本字段标记为 kLoginRowIndex = 0 和 kPasswordRowIndex = 1。您可能已经猜到,我使用它来设置登录名和密码。

如果用户在编辑登录文本字段时点击返回按钮,我希望密码文本字段获得焦点。不幸的是,密码文本字段不接受焦点。这是我的代码:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    NSLog(@"%s:(textField.tag:%d)", __FUNCTION__, textField.tag);
    [textField resignFirstResponder];
    if(textField.tag == kLoginRowIndex) {
        UITableViewCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:kPasswordRowIndex inSection:0]];
        UITextField *nextTextField = (UITextField *)[cell viewWithTag:kPasswordRowIndex];
        NSLog(@"(nextTextField.tag:%d)", nextTextField.tag);
        NSLog(@"canBecomeFirstResponder returned %d", [nextTextField canBecomeFirstResponder]);
        NSLog(@"becomeFirstResponder returned %d", [nextTextField becomeFirstResponder]);
    } else {
        [self validate:textField];
    }
    return NO;
}

这是日志输出:


-[SettingsViewController textFieldShouldReturn:]:(textField.tag:0)
(nextTextField.tag:1)
canBecomeFirstResponder returned 1
becomeFirstResponder returned 0  

我尝试过的:

  • 返回 YES 而不是 NO
  • 删除对 canBecomeFirstResponder 的调用(仅用于调试目的)

任何提示表示赞赏!


在按照tmadsen的建议进行操作后,我发现了错误。错误是这一行:

UITableViewCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:k

它返回一个新单元格,而不是当前屏幕上的单元格。我把它替换为

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:kPasswordRowInde

现在它按预期工作了。

附带说明一下,我发现 0 是 tag 属性的默认值,因此使用它可能不太聪明。

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

UITextView 上的 beginResponder 不起作用 的相关文章

  • 自调整大小的集合视图在 iOS 15 中进入递归循环

    我有一个自动调整大小的集合视图 当我调用 super layoutSubviews 时 我的应用程序崩溃 因为集合视图进入递归更新循环 这在 iOS 14 及更低版本中运行良好 但从 iOS 15 开始就观察到了这一点 class Dyna
  • 如何知道我的 Xcode iPhone 项目是否使用 ARC?

    我想知道我的 Xcode iPhone 项目是否正在使用 ARC 但我不记得在创建项目时是否勾选了该框 我怎样才能得到这些信息 选择您的项目 然后构建设置 寻找Objective C 自动引用计数 in the Apple LLVM 编译器
  • AVAudioRecorder 标准化音量

    我有一个可以录制音频的应用程序 我想知道如何才能增加增益 有没有办法标准化音频或以某种方式放大它 谢谢 豪伊 看来我找到了解决方案 根据文档 AVAudioPlayer 音量可以在 0 0 到 1 0 之间 显然它可以设置为大于1 0的值
  • 如何在iPhone中制作UIButton垂直滑块菜单

    在我的应用程序中 我想制作带有滚动视图的 UIButton 滑块 其中当我们滚动按钮的 uiscrollview 时 按钮将位于中心 请参阅这些应用程序的第一个屏幕 sothttp itunes apple com au app id422
  • phonegap 插件,用于从库中选择视频

    我需要能够从库中选择视频并将其上传到我的服务器 我可以录制新视频 captureVideo 并上传 文件传输 没问题 但我似乎找不到任何方法来打开视频库并选择视频然后上传 有什么办法可以做到这一点吗 以某种方式更改 MediaType na
  • 从 iOS 中的 App Delegate 调用当前视图控制器中的方法

    我有两个视图控制器 BuildingsViewController 和 RoomsViewController 它们都使用应用程序委托中名为上传的函数 上传函数基本上执行一个 HTTP 请求 如果成功或不成功 都会触发 uialertvie
  • Xcode 找不到我的静态库!

    这是链接器错误 i686 apple darwin10 gcc 4 2 1 Users william Documents SettingsLibrary build Debug iphonesimulator libSettingsLib
  • cocos2d 2.0-rc2:结束director并重新启动

    我有一款由 cocos2d 驱动的游戏 它使用 UIKit 菜单 所以我只使用一个视图控制器的框架 即游戏本身 而且 它只有一个场景 从cocos2d 2 0开始 director本身就是一个UIViewController子类 所以我只是
  • 使用UDID创建唯一的用户身份

    我正在开发一个 iPhone 应用程序 它与服务器通信以存储和交换数据 因为我想让它尽可能简单 所以我想避免用户帐户的注册 或者也可能使用密码 是否有可能 并且允许 获取 iPhone 设备的 UDID 并制作例如 它的 MD5 哈希值 我
  • 苹果游戏中心 API

    我无法找到包含 Game Center Reference 的 GameKit api Apple Game Center 是 iOS 上的一个新社交网络平台 其描述如下 iOS4 中的新增功能 1 GameKit iOS 参考在这里 ht
  • 将 UIImageView 置于 UIScrollView 内而不使用 contentInset?

    我一直无法找到我遇到的这个问题的答案 我在 UIScrollView 中有一个 UIImageView 我希望将其内容垂直居中 目前 我能够做到这一点的唯一方法是根据 UIImageView 大小的高度设置滚动视图的 contentInse
  • UITableView 无法一直滚动到底部[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只是好奇 我做了一些UITable
  • 使用 iOS swift AVPlayer 在横向模式下不全屏

    我将视频视图设置为全屏 然而 在模拟器中玩时 它并没有全屏运行 此问题仅适用于 iPad 不适用于 iPhone 这是我的代码 override func viewDidAppear animated Bool super viewDidA
  • 为什么清除按钮不与 UITextField 中的文本对齐?

    我在 UITableViewCell 中有一个 UITextField 由于某种原因 清除按钮未与文本字段的文本对齐 这是我的文本字段代码 cell selectionStyle UITableViewCellSelectionStyleN
  • 基于 JavaScript 的 iPhone UI 框架

    我们有一个基于推送的网络应用程序 最近 我们计划为其制作一个 iPhone 应用程序 就像 Facebook 拥有 iPhone 应用程序和网站一样 我们正在寻找一个可以让我们快速前进的 UI 框架 我翻阅过PhoneGap http ww
  • 以编程方式检测应用程序是否正在设备或模拟器上运行

    我想知道我的应用程序在运行时是在设备还是模拟器上运行 有没有办法检测到这一点 原因是用模拟器测试蓝牙 api http volcore limbicsoft com 2009 09 iphone os 31 gamekit pt 1 woo
  • Excel 工作表到 iPhone 数据 -- A 点到 B 点

    尽可能简单 我有一个非常简单的 Excel 电子表格 只有 1000 多条记录 我想将其用作 iPhone 应用程序的静态数据源 最好的进攻计划是什么 我心中的可能性 1 直接读取XLS作为数据源 是否有Obj C库用于此 2 将XLS 转
  • 调用了 numberOfRowsInSection 但未调用 cellForRowAtIndexPath

    在我的表视图中节中的行数被调用两次但是cellForRowAtIndexPath不叫 我想在 tableView 中显示 Facebook 好友列表 如果 cellForRowAtIndexPath 调用我的问题就解决了 我在这里的数组中得
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • 如何检测 UISearchBar/UITextField 输入中的暂停?

    我有以下 UISearchbar 代码 void searchBar UISearchBar searchBar textDidChange NSString searchText UIApplication sharedApplicati

随机推荐

  • 为什么抽象类可以强制重写具体方法?

    我使用一个库 其中抽象类重写继承自的具体方法Object使用抽象方法 public abstract class A Override public abstract boolean equals Object obj 为了扩展这个类 我必
  • 使用 WSDL 的 ruby​​ 中的 SOAP 服务器

    我需要在 ruby 中实现一个 SOAP 服务器来进行一次调用 并提供 WSDL 我的计划是自己创建 WSDL 并在 Rails 服务器上提供它 并使用解析 xml 的端点 这是一条有效的路径吗 我查看了 但找不到关于生成 WSDL 的 r
  • 一行中进行多次搜索和替换

    如果我做类似的事情 s aaa bbb s 111 222 并且第一次搜索和替换没有找到任何匹配项 第二次搜索和替换将不会执行 有没有办法告诉 vim 即使命令 失败 也继续执行 Try s aaa bbb e s 111 222 e an
  • 在非主键关系上连接和查询 Django 模型?

    我有两个模型通过非主键的字段在逻辑上相关 是否可以查询它们 例如 select related 而不引入ForeignKey column 例如 考虑人为的模型 class LogEntry Model source name CharFi
  • 使用 iframe 下载文件在 Iphone/Ipad 中不起作用

    文件下载功能不适用于在 iPhone Ipad 适用于 Safari 和 Chrome 中使用 iframe 的 MVC Bootstrap Web 应用程序 在台式机 笔记本电脑和 Android 设备 适用于所有浏览器 中一切正常 单击
  • NoSQL:MongoDB 或 BigTable 并不总是“可用”意味着什么

    阅读内森 赫斯特的著作NoSQL 系统视觉指南 http blog nahurst com visual guide to nosql systems 他包括CAP三角形 C一致性 A可用性 P分区容差 随着 SQL Server 成为AC
  • observablelist何时产生更新变化事件?

    我在不同条件下尝试了不同的集合 但我能够收到的所有更改都是排列 添加 删除和替换更改 在什么情况下会出现更新变化 产生此类事件需要什么基类 什么存储类以及什么操作 要生成更新事件 您必须创建一个ObservableList与提取器 http
  • 通过回调绕过 hCaptcha?

    你好 我正在尝试使用 2captcha 绕过在一个名为 stake games 的网站中绕过 hCaptcha 但它似乎不起作用 我收到了绕过代码 但是当我在 grecaptcha response 和 hcaptcha response
  • 通过覆盖旧密码插入新密码

    在 yii 中我正在创建项目 验证用户输入的电子邮件后 我显示了password php 文件 该文件具有用于输入新密码的文本字段 密码 php
  • chrome:页面源和检查元素的区别?

    Chrome 15 中 查看页面源代码 中的 html 和检查元素有什么区别 看起来像2个不同的html 查看页面源页面向您显示服务器返回的确切文本 检查元素实际上向您显示了完全渲染的DOM tree https www w3schools
  • 使用 BigDecimal 限制有效数字的任何巧妙方法

    我想对 Java 进行四舍五入BigDecimal到一定数量的有效数字 不是小数位 例如至 4 位数字 12 3456 gt 12 35 123 456 gt 123 5 123456 gt 123500 等等 基本问题是如何找到的数量级B
  • iOS HealthKit 如何保存心率(bpm)值?迅速

    使用方法 HKUnit 样本类型 单位类型 单位名称 单位字符串 心率计数 时间每分钟心跳数 计数 分钟 Swift 心率 bpm 保存到 healthkit 商店 private func saveHeartRateIntoHealthS
  • 使用阻塞长同步操作会暂停 Node.js 中的所有用户吗?

    如果我有一个 SMTP 服务器 例如haraka https github com haraka Haraka 或网络服务器 如Express https github com strongloop express 使用 Node js 并
  • JavaFX LineChart 不画圆?

    该图表显示了问题 我有 JavaFX 程序来计算数据并绘制图表 但为什么点没有正确连接 我尝试了很多事情 甚至创建了两个单独的系列 但它不起作用 public void createScatterChart final NumberAxis
  • vk.com 中使用 zend_oauth 进行身份验证时出现问题

    vk com 中使用 zend oauth 进行身份验证时出现问题 信息 HTTP 请求中出现错误 无法在 TCP 连接 oauth vk com 上启用加密 确保为环境正确设置了 sslcafile 或 sslcapath 选项 请帮帮我
  • 关于跨平台项目中网络语言互操作性的问题[已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划使用 AngularJS 在 iOS Android 上创建一个应用程序和一个网站 但为了不必在每个应用程序上重写业务代码 我希望重用尽可
  • 检查日期范围(开始日期和结束日期)是否重叠

    function checkDateOverlap ranges res ranges 0 countRanges count ranges for i 0 i lt countRanges i r1s res start r1e res
  • 谷歌计算引擎工具 gcloud 非常慢

    我尝试下载并使用 gcloud bash 工具来管理我的帐户 但是我使用该工具执行的所有操作都非常慢 回复键入的命令需要几分钟的时间 我是否需要在路由器上打开防火墙或其他东西才能使其像预期的那样快速工作 例如 该视频中的 正在安装 行htt
  • React 测试 Fake XMLHttpRequest

    我正在为某人的应用程序编写一些测试代码 我是专门为 React 编写测试的新手 在组件内部的一个方法中 一个新的XMLHttpRequest对象被实例化 然后像这样使用 var myModal React createClass postR
  • UITextView 上的 beginResponder 不起作用

    由于某种原因 我无法将文本字段设置为第一响应者 我有一个包含两行的 UITableView 每行都有一个标签和一个 UITextField 文本字段标记为 kLoginRowIndex 0 和 kPasswordRowIndex 1 您可能