Утечка памяти UITextField, когда для secureTextEntry установлено значение NO - PullRequest
0 голосов
/ 19 января 2011

У меня есть два UITextField, один с secureTextEntry, установленным в YES, и другой, установленный в NO. У меня есть утечка памяти в моем UITextField, где для secureTextEntry установлено значение NO, если я установил его в YES, утечки памяти нет. Я не знаю, почему secureTextEntry меняет поведение.

login = [[UITextField alloc] initWithFrame:CGRectMake(51.0, 160.0, 218.0, 21.0)];
login.textAlignment = UITextAlignmentLeft;
login.textColor = [UIColor whiteColor];
login.backgroundColor = [UIColor blackColor];
login.secureTextEntry = NO;
login.placeholder = @"Identifiant";
login.returnKeyType = UIReturnKeyDone;
login.clearsOnBeginEditing = YES;
login.autocapitalizationType = UITextAutocapitalizationTypeNone;
login.delegate = self;
login.font = [UIFont fontWithName:@"Helvetica Neue" size:15.0];
[login addTarget:self action:@selector(goAwayKeyboard:) forControlEvents:UIControlEventEditingDidEndOnExit ];
[self.view addSubview:login];

password = [[UITextField alloc]initWithFrame:CGRectMake(51.0, 200.0, 218.0, 21.0)];
password.textAlignment = UITextAlignmentLeft;
password.textColor = [UIColor whiteColor];
password.backgroundColor = [UIColor blackColor];
password.secureTextEntry = YES;
password.placeholder = @"Mot de passe";
password.returnKeyType = UIReturnKeyDone;
password.clearsOnBeginEditing = YES;
password.delegate = self;
password.font = [UIFont fontWithName:@"Helvetica Neue" size:15.0];
[password addTarget:self action:@selector(goAwayKeyboard:) forControlEvents:UIControlEventEditingDidEndOnExit ];
[self.view addSubview:password];

И это goAwayKeyboard, но я попробовал без вызова этого и ничего не меняется.

if(sender)[sender resignFirstResponder];

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"];
animation.removedOnCompletion = YES;  
animation.fromValue = [NSNumber numberWithFloat:self.view.layer.frame.origin.y];
animation.toValue = [NSNumber numberWithFloat:0.0];
animation.duration = 0.5;
animation.fillMode = kCAFillModeRemoved;
animation.additive = YES;

[self.view.layer addAnimation:animation forKey:nil];
[self.view setFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)];
...