- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在我的应用程序中,我有一个 UITabeView
,每个单元格内都有 UITextField
。但是,我在实现上一个/下一个按钮以使上一个/下一个 UITableViewCell
中的文本字段成为第一响应者时遇到了麻烦。
我已经将 UITableViewCell
类子类化,让它在按下 prev./next 按钮时调用它的 delegate
的某个方法,并将单元格本身作为此方法的一个参数(因此我可以获得其索引路径以计算哪个是其文本字段必须成为第一响应者的单元格的索引路径)
在委托(delegate)方法I的实现中:
-cellForRowAtIndexPath:
方法获取其文本字段必须成为第一响应者的单元格问题在于 -cellForRowAtIndexPath:
方法仅在单元格可见时才返回该单元格。因此,当单元格不可见时,它将返回 nil
并且上述算法将不起作用,而当单元格在屏幕上时,它将正常工作。
这是我的上一个代码。按钮,前提是 MUInfoMateriaTableViewCell
是我的 UITableViewCell
子类,并且它有一个返回其文本字段的 textField
属性:
- (void)prevButtonPressedInCell:(MUInfoMateriaTableViewCell *)cell
{
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSIndexPath *previousIndexPath = [NSIndexPath indexPathForRow:indexPath.row-1 inSection:indexPath.section];
MUInfoMateriaTableViewCell *newCell = (MUInfoMateriaTableViewCell *)[self.tableView cellForRowAtIndexPath:previousIndexPath];
[newCell.textField becomeFirstResponder];
}
有什么方法可以“获取”一个不可见的单元格,以便我可以将其文本字段设置为第一响应者?或者你能建议我另一种算法来解决这个问题吗?
最佳答案
您可以通过多步骤流程解决此问题:
NSIndexPath
并调用 [self.tableView scrollToRowAtIndexPath:atScrollPosition:animated:]
使其进入 View tableView:willDisplayCell:forRowAtIndexPath:
以在所需单元格变为可见且与所需单元格或索引路径匹配时调用 becomeFirstResponder
最后一步很重要,因为如果接收器不是任何窗口的 subview ,调用 becomeFirstResponder
不会执行任何操作。
关于iphone - 在 UITableView 中实现 Prev./Next 按钮,使第一响应者成为不可见单元格中的 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911513/
有没有办法让文字不上下跳动?我不能使用position:absolute。因为它弄乱了我网站的其余部分。请看这个 fiddle :http://jsfiddle.net/9xn19111/11/ 这是
我正在尝试将文本“WE CREATE DANCE”“WE HAVE FUN”“WE LOOK GOOD”放置在一个容器内,该容器将根据文本的大小和文本的行数进行调整。容器的大小是未知的,因为它是动态的
我正在构建一个 Wasm 应用程序并编译它,我有一个 shell 脚本。 当我从终端手动运行它时,我有以下内容: /app/Go/assets$ ./script.compile.wasm.sh Wa
我正在关注 URL: https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-intel
我想看到我在 Chrome 中悬停的 anchor 的 :hover 样式。在 Firebug 中,有一个样式下拉列表允许我为元素选择不同的状态。 I can't seem to find anyth
我刚刚尝试安装 git-flow,但是,它似乎没有与 git 正确集成,我该怎么做才能将 gitflow 与 git 集成?我可以手动执行此操作吗? 谢谢,杰弗里 [root@sa 2]# wget
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: “git pull” broken 在我的 MAC 上使用 git version 1.7.5.4 当尝试从
我连接了 bitbucket,我在我的电脑上安装了 Git 和 sourcetree,我尝试将 sourcetree 和 bitbucket 连接在一起。但我无法将两者联系起来。当我尝试克隆存储库源路
我设置了github for mac 现在我正尝试从终端使用 git 命令。 如果我尝试运行 git rebase 命令,我会收到以下消息 > cd /Applications/GitHub.app/
我正在尝试使用 git send-email 发送补丁,但我收到以下错误: git: 'send-email' is not a git command. See 'git --help'. 如何使
尝试按照说明从 docker 网站构建 docker 镜像。 https://docs.docker.com/examples/running_redis_service/ 这是我得到的错误,我会按照
当我尝试从本地文件中 pull 、克隆或推送某些内容时出现此错误。我尝试使用以下方法解决: Reupdating path variable to C:\Program Files\Git\cmd\g
我目前正在使用 Cloudera 5.6 尝试基于另一个表在 hive 表中创建 Parquet 格式表,但我遇到了错误。 create table sfdc_opportunities_sandbo
我在 visual studio 2010 中使用 git 进行源代码控制。我可以使用诸如“git status”、“git commit”之类的命令,但是当我尝试使用“git review”时,我得
如何解决“MacBook pro”上的此错误。 git: 'credential-wincred' is not a git command. See 'git --help'. git: 'cred
以下 java 8 流没有任何终端操作。下面这个块是不是应该是懒惰的,因为我只有中间操作,还没有被终端操作操作过。当我运行这个块时,我得到“流已经被操作或关闭”。见 https://ideone.co
我是一名优秀的程序员,十分优秀!