IOS 7 UITextField resignFirstResponder 坏

2024-05-07

当我在自定义单元格内使用 UItextField 时,以及当我 resignFirstResponder 文本字段时,我发生崩溃,但它不再可见(表视图滚动到窗口外)。我仍然可以找到文本字段,指针继续可访问,它不为空,并且崩溃仅发生在 IOS7 上,在 IOS6 上我没有这个问题。这是一些代码:

The textField是一个全局变量。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString * CellIdentifier = [NSString stringWithFormat:@"Cell%d",indexPath.row];

    TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[TableCell alloc] init];

        if(indexPath.row == 0)
        {
            [textField setFrame:CGRectMake(15, 5, cell.frame.size.width-60, cell.frame.size.height)];
            textField.textAlignment = NSTextAlignmentLeft;
            [textField setBorderStyle:UITextBorderStyleNone];
            textField.textColor = [UIColor blackColor];
            textField.tag = indexPath.row;
            textField.delegate = self;
            textField.secureTextEntry = YES;
            [textField setFont:[UIFont fontWithName:@"Arial-BoldMT" size:15]];
            textField.textColor = [UIColor whiteColor];
            textField.returnKeyType = UIReturnKeyDone;
            [textField setAdjustsFontSizeToFitWidth:YES];
            textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
            textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Senha" attributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
            [cell.contentView textField];
        }
}
    return cell;
}

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
//    NSLog(@"text field %@",textField);
//    NSLog(@"tfield return: %d",textField.isFirstResponder);
    [textField resignFirstResponder];
//    [self.view endEditing:YES];

    return NO;
}

在 Apple 的帮助下,我已经成功修复了类似的崩溃错误。关键是reuseIdentifer.

引用来自一封来自文森特·盖博 of 苹果开发者技术支持:

这是 iOS 7 中发生的已知行为更改UITableView,当细胞不被重复使用时。

这里的修复是确保您遵循正确的单元重复使用。如果您不想重复使用UITableViewCells,那么建议您简单地将所有视图布局在一个UIScrollView.

为了确保重复使用单元格,请确保将相同的字符串传递给dequeueReusableCellWithIdentifier:你传递给reuseIdentifier:使用时alloc/init来制作细胞。该字符串不能为零。

所以我认为你应该确保你已经设置TableCell's reuseIdentifer与您传递给的值相同的属性dequeueReusableCellWithIdentifier:

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

IOS 7 UITextField resignFirstResponder 坏 的相关文章

随机推荐

  • 页面错误陷阱的成本

    我有一个应用程序 它定期 每 1 或 2 秒后 通过分叉自身来获取检查点 因此 检查点是原始进程的一个分支 它一直保持空闲状态 直到原始进程发生某些错误时被要求启动 现在我的问题是fork的写时复制机制的成本有多大 每当原始进程写入内存页面
  • 从soap标头中删除mustUnderstand属性

    如何从轴客户端中的soap标头中删除mustunderstand属性 即使我没有特别设置它 当我设置soap标头信息mustundertand时 actor属性会自动添加到soap消息中 有人知道如何删除它们吗 我正在使用 Axis2 1
  • 使用 django Rest 框架 ModelViewSet 类而不是 APIView 渲染表单

    我想使用其余框架为我的 django 模型创建样板表单 文档显示它使用 APIView http www django rest framework org topics html and forms rendering forms htt
  • 如何获取当前所选键盘布局的显示名称

    我需要以语言栏显示输入语言的方式向用户显示输入语言列表 例如 目前我有 class Program static void Main string args var langs InputLanguage InstalledInputLan
  • 从 Perl 脚本 DBI 关闭 MSSQL 服务器

    我正在写一个 perl 脚本 其中我必须关闭我的 mssql 服务器 做一些操作 然后我必须重新启动它 我知道一种方法是使用 netstat 来停止服务 但我不能使用它 所以我尝试安装 DBI 和 DBD ODBC 模块 我可以通过以下代码
  • 解密后缺少几个字符

    这是我原来的xml table table
  • Node.js 在 http.request 循环中处理内存不足

    在我的 Node js 服务器中 我无法弄清楚为什么它会耗尽内存 我的node js 服务器为它收到的每个http 请求发出一个远程http 请求 因此我尝试使用下面的示例脚本来复制该问题 该脚本也耗尽了内存 仅当 for 循环中的迭代次数
  • 无法解析 RSS 提要

    我正在尝试使用 python 中的 feedparser 从 url 解析 RSS 提要 gt gt gt import feedparser gt gt gt d feedparser parse http www shop inonit
  • SQL 2016 无法创建列主密钥

    I just installed SQL 2016 Standard Edition because I wanted to use the Always Encrypted feature However when I tried to
  • 如何使用自动布局约束在 ios xcode 6.3 中创建多个标签之间的相等间距

    如何实现多个标签的自动布局 如图所示 我也需要在所有标签和侧面空间之间保持相对相等的间距 我想在标签 1 2 3 4 之间保持相等的间距 我无法使用自动布局在多个 iPhone 版本的标签之间保持相对相等的间距 我能够使用以下步骤解决 第
  • Python 丰富比较的行为(或者,当 Decimal('100.0') < .01 时)

    所以我有一个班轮 import decimal h decimal Decimal 100 0 h gt 01 h lt 01 h gt 01 h lt 01 它所做的只是创建一个包含 100 0 的 Decimal 对象 并以各种方式将其
  • 扩展 SimpleJpaRepository

    当我想扩展时我正在使用 Spring BootSimpleJpaRepository像这样的界面 public interface BaseRepository
  • 通过端点 API 将图像读入 protorpc 消息

    将用户的图片接收到我的 endpoints method我用吗messages BytesField as in image messages BytesField 1 stuff messages StringField 2 是的 这是正
  • 使用facet_grid从ggplot中提取单个图

    我想使用 ggplot 和生成一些图facet grid并将绘图保存为对象 我的问题是我还想将每个子组 即每个方面 单独保存为一个对象 我现在的问题是你是否可以从中提取一个方面facet grid并将其保存为对象 这是一些简单的代码 lib
  • 浮点舍入效果说明

    include
  • 在字段解析器上从父节点获取数据

    所以我想做的是GraphQL如果可能的话像这样 people id name acted id title coactors name 所以我正在做的就是找演员 人 然后找他们演的电影 效果很好 所以我正在努力寻找那部电影的合作演员 我正在
  • Auth0 - 无法检索远程 JWK 设置:读取超时

    我正在遭受这一痛苦 无法检索远程 JWK 设置 读取超时 我正在使用 Java 11 和 Spring boot 2 5 3 对于依赖项 弹簧安全 oauth2 何塞 5 5 1 spring boot starter oauth2 客户端
  • 如何将带小数点的字符串解析为双精度型?

    我想解析一个字符串 3 5 到一个双倍 然而 double Parse 3 5 产量 35 和 double Parse 3 5 System Globalization NumberStyles AllowDecimalPoint 抛出一
  • Spring AOP生成的代理类的位置

    只是为了学习和理解代理 我想看看Spring AOP生成的代理类 它不存在于 Eclipse 生成的类文件夹中 有人可以告诉我它的位置吗 如果您使用基于接口的代理 默认 Spring 使用Proxy http docs oracle com
  • IOS 7 UITextField resignFirstResponder 坏

    当我在自定义单元格内使用 UItextField 时 以及当我 resignFirstResponder 文本字段时 我发生崩溃 但它不再可见 表视图滚动到窗口外 我仍然可以找到文本字段 指针继续可访问 它不为空 并且崩溃仅发生在 IOS7