Супер медленная задержка / задержка при начальной анимации клавиатуры UITextField - PullRequest
168 голосов
/ 20 февраля 2012

Хорошо, эта проблема сводит меня с ума.

Требуется примерно 3-4 секунды, чтобы клавиатура всплыла после того, как я коснулся UITextField.Это происходит только в первый раз, когда клавиатура всплывает с момента запуска приложения, после чего анимация запускается мгновенно.

Сначала я подумал, что это проблема загрузки слишком большого количества изображений или моего UITableView, но ясоздал новый проект с UITextField, и я до сих пор испытываю эту проблему.Я использую iOS 5, Xcode ver 4.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

Это общая проблема для всех приложений?

Прямо сейчас, единственный способ сделать его несколько лучше - это textField стать / подать в отставку первым респондентом в viewDidAppear, но это не решает проблему полностью - она ​​просто загружает задержку, когда представлениезагружает вместо.Если я сразу нажимаю textField при загрузке представления, я все равно получаю проблему;если я подожду 3-4 секунды после загрузки представления, прежде чем дотронуться до textField, я не получу задержку.

Ответы [ 11 ]

0 голосов
/ 15 января 2015

Вы можете добавить приведенный ниже код, когда представление viewController действительно загрузилось, например viewDidAppear. Не только приложение: didFinishLaunchingWithOptions:

UITextField *lagFreeField = [[UITextField alloc] init];
[self.window addSubview:lagFreeField];
[lagFreeField becomeFirstResponder];
[lagFreeField resignFirstResponder];
[lagFreeField removeFromSuperview];
...