becomeFirstResponder 减慢应用程序的速度
Posted
技术标签:
【中文标题】becomeFirstResponder 减慢应用程序的速度【英文标题】:becomeFirstResponder slows down app 【发布时间】:2011-04-12 06:13:56 【问题描述】:我有两个用于用户名和密码的文本字段以及一个提交按钮。当按下提交按钮时,会执行检查以查看是否输入了用户名和密码。如果不是,它会显示一条警报消息,并且未输入值的字段将成为第一响应者。
-(IBAction)loginPressed:(id)sender
if ([username.text length] == 0)
[self showAlert:@"Invalid Username/ Password"];
[username becomeFirstResponder];
return;
if ([password.text length] == 0)
[self showAlert:@"Invalid Username/ Password"];
[password becomeFirstResponder];
return;
我观察到单击按钮时,按钮保持选中状态约 1.5 秒,然后显示警报。如果我注释掉 becomeFirstResponder
方法,它会毫无停顿地工作。但是我需要becomeFirstResponder
在那里。我如何使用它来加快速度?
【问题讨论】:
可能很愚蠢的问题:如果切换 becomeFirstResponder 和 showAlert 的顺序会发生什么? 嘿,解决了。现在很好用。谢谢。将其发布为答案。 【参考方案1】:切换 becomeFirstResponder 和 showAlert 的顺序。
【讨论】:
我有同样的问题,没有警报:(。调用 becomeFirstResponder 的巨大延迟(几秒钟!)。 我也遇到了同样的问题,没有警报 - 只是取消隐藏视图/文本字段,然后调用 becomeFirstResponder。有什么想法吗?【参考方案2】:[self showAlert:@"无效的用户名/密码"];需要一些时间。你不能speup那个东西。
【讨论】:
但是根据 OP,如果 becomeFirstResponder 被删除没有延迟,所以显然,showAlert 不是这里的问题。以上是关于becomeFirstResponder 减慢应用程序的速度的主要内容,如果未能解决你的问题,请参考以下文章
becomeFirstResponder 似乎仅第一次用于摇动手势
Swift - 如何使用 becomeFirstResponder 跳转到顶部