Я написал приведенную ниже логику для перемещения вверх, когда textfiled начинает редактирование. Он работает отлично в iOS 7, но он не работает в iOS 8.UIView в iOS 8 Не переходите, когда начинается UITextFiled Editing
Код:
-(void)viewDidLoad
{
_leagalName.delegate = self;
_phoneNumber.delegate = self;
_email.delegate = self;
_contactName.delegate = self;
_contactNumber.delegate = self;
_password.delegate = self;
_confirmPassword.delegate = self;
}
-(void)animateTextField:(UITextField*)textField up:(BOOL)up
{
const float movementDuration = 0.3f; // tweak as needed
int movement = (up ? movementDistance : -movementDistance);
[UIView beginAnimations: @"animateTextField" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.sampleView.frame = CGRectOffset(self.sampleView.frame, 0, movement);
[UIView commitAnimations];
}
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if([textField isEqual:_leagalName])
{
movementDistance = 0;
[self animateTextField:textField up:YES];
}
else if([textField isEqual:_phoneNumber])
{
movementDistance = 0;
[self animateTextField:textField up:YES];
}
else if([textField isEqual:_email])
{
movementDistance = -40;
[self animateTextField:textField up:YES];
}
else if([textField isEqual:_contactName])
{
movementDistance = -80;
[self animateTextField:textField up:YES];
}
else if([textField isEqual:_contactNumber])
{
movementDistance = -110;
[self animateTextField:textField up:YES];
}
else if([textField isEqual:_password])
{
movementDistance = -140;
[self animateTextField:textField up:YES];
}
else if([textField isEqual:_confirmPassword])
{
movementDistance = -170;
[self animateTextField:textField up:YES];
}
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
[self animateTextField:textField up:NO];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
может кто-нибудь объяснить, как я могу двигаться взгляд вверх прошивкой 8.
Вы взяли' делегата textField' в ...? –
ДА. он работает в iOS 7. Я уже установил делегат. – user3825276
Вы используете автоматическую компоновку? При использовании Auto-Layout лучше перемещать представления, используя ограничения вместо фреймов. – YogevSitton