【问题标题】:App freezes after clicking on UITextField单击 UITextField 后应用程序冻结
【发布时间】:2020-02-09 19:02:24
【问题描述】:

希望这将是一个简单的修复!

我正在使用 .m 文件中的以下代码向我的应用添加 UITextField:

editTextField = [[UITextField alloc] init];
editTextField.frame = CGRectMake(0, [self getTopOfTabBar] - 30, practiceScreenWidth, 30);
editTextField.delegate = self;
editTextField.backgroundColor = [UIColor blueColor];
[self.view addSubview:editTextField];

但是,每当我单击此 UITextField 时,应用程序就会冻结。日志中没有产生任何错误或错误,应用程序只是停止响应。

一些额外的信息,这里是.h文件中的接口

@interface PracticeViewController : UIViewController <UITextFieldDelegate>

感谢任何帮助!

【问题讨论】:

  • 你实现过UITextfieldDelegate的功能吗?
  • 到目前为止,没有。仅添加了 注释。
  • 如果确认冻结,我认为某处发生了无限循环。你是否覆盖了viewWillLayoutSubviews
  • 您能否展示视图的实现、结构的层次结构,考虑到您没有添加任何UITextfieldDelegate's 函数,原因可能是视图中的布局或渲染跨度>
  • 我刚才实现了对viewWillLayoutSubviews的覆盖,无论是否调用super方法,但应用程序仍然冻结。我放置在函数中的 NSLog 也似乎只在加载 ViewController 时被调用一次,并且在我单击 UITextField 时根本不会被调用,它在我单击它后继续冻结应用程序。真是个奇怪的案例!

标签: ios objective-c xcode uitextfield freeze


【解决方案1】:

这似乎是一个 xcode 11 问题:
完全退出模拟器并重新运行应用程序。如果这不起作用,有些人通过尝试以下解决方法取得了成功:

Simulator -> Edit -> Automatically Sync Pasteboard

这也发生在我身上,但只有在模拟器中,当我构建到设备上时,文本字段才能正常工作。

【讨论】:

  • 我被这个问题困扰了 30 分钟,并试图找出我的代码有什么问题。谢谢!
  • 只有在重置模拟器后才能正常工作。 (模拟器 -> 设备 -> 擦除所有内容和设置)
【解决方案2】:

Alhamdulellah Soulution 是找到.....

模拟器>>硬件>>擦除所有内容和设置 这是方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多