我进入了UIScrollView两个对象,一个Button和一个textField。当我按下textField时,我需要按钮向上移动,而textField向下移动。 我怎么能这样做?
答案 0 :(得分:0)
将您的UIButton保持在您的UITextField下方,或者您可以为Y位置提供一些特定值。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
//you can change the setAnimationDuration value, it is in seconds.
CGFloat textFieldY = textField.frame.origin.y;
CGFloat buttonY = button.frame.origin.y;
CGRect textRect = CGRectMake(textField.frame.origin.x, buttonY, textField.frame.size.height, textField.frame.size.width);
CGRect buttonRect = CGRectMake(button.frame.origin.x, textFieldY, button.frame.size.height, button.frame.size.width);
[textField setFrame:textRect];
[button setFrame:buttonRect];
[UIView commitAnimations];
return YES;
}
和
相同- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
//you can change the setAnimationDuration value, it is in seconds.
CGFloat textFieldY = textField.frame.origin.y;
CGFloat buttonY = button.frame.origin.y;
CGRect textRect = CGRectMake(textField.frame.origin.x, buttonY, textField.frame.size.height, textField.frame.size.width);
CGRect buttonRect = CGRectMake(button.frame.origin.x, textFieldY, button.frame.size.height, button.frame.size.width);
[textField setFrame:textRect];
[button setFrame:buttonRect];
[UIView commitAnimations];
return YES;
}
您可以使用按钮插座代替“按钮”。
注意 - 我没有测试过这段代码。希望它能奏效。