首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >UITextField初始键盘动画的超慢延迟/延迟

UITextField初始键盘动画的超慢延迟/延迟
EN

Stack Overflow用户
提问于 2012-02-20 14:26:15
回答 11查看 40.1K关注 0票数 175

好吧,这个问题快把我逼疯了。

在我触摸我的UITextField后,键盘大约需要3-4秒才会弹出。这只会在应用程序启动后第一次弹出键盘时发生,之后动画会立即开始。

起初,我认为这是加载太多图像或我的UITableView的问题,但我刚刚创建了一个只有一个UITextField的全新项目,我仍然遇到这个问题。我使用的是Xcode5,Xcode4.2版,运行在iPhone 4S上。

这是我的代码:

#import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)];
    textField.borderStyle = UITextBorderStyleRoundedRect;
    textField.delegate = self;
    [self.view addSubview:textField];
}

@end

这是所有应用程序的常见问题吗?

现在,我能做得更好的唯一方法是在viewDidAppear中让textField成为/辞去first responder,但这并不能完全解决问题--它只是在视图加载时加载延迟。如果我在视图加载时立即单击textField,我仍然会遇到问题;如果我在视图加载后等待3-4秒才接触到textField,我不会得到延迟。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2013-12-07 10:24:29

因此,问题并不像我之前想的那样仅限于第一次安装,而是每次启动应用程序时都会发生。这是我的解决方案,完全解决了这个问题。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Preloads keyboard so there's no lag on initial keyboard appearance.
  UITextField *lagFreeField = [[UITextField alloc] init];
  [self.window addSubview:lagFreeField];
  [lagFreeField becomeFirstResponder];
  [lagFreeField resignFirstResponder];
  [lagFreeField removeFromSuperview];
}
票数 149
EN

Stack Overflow用户

发布于 2014-12-15 23:49:39

在你使用任何奇特的技巧来解决这个问题之前,先试试这个:停止调试会话,关闭应用程序的多任务处理,从电脑上拔下你的设备,然后通过点击应用程序的图标正常运行它。我至少见过两种情况,只有在插入设备时才会出现延迟。

票数 300
EN

Stack Overflow用户

发布于 2012-03-24 16:00:25

是啊,我最新的iPhone 4s也有几秒钟的延迟。别惊慌。由于某些原因,它只发生在第一次从Debug中的Xcode加载应用程序时。当我发布的时候,我不会得到延迟。忘了吧..。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9357026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档