【发布时间】:2015-03-22 13:12:06
【问题描述】:
所以我手头有一个非常奇怪的问题,并且数小时的搜索没有提供任何结果。
我有一个包含 uitextfield 的 uiview。现在,这个视图最初位于可见屏幕之外,坐标为 x=-500,y=-500。
但是,当按下按钮时,此视图会生成动画并移动到屏幕中心。
现在,每当我点击作为此视图的子视图的 uitextfield 时。此视图将移回屏幕外的原始坐标。
我已经疯狂地检查了我的代码,一旦它进入,没有任何东西会再次将视图移到外面。任何帮助解释这种非常陌生的行为将不胜感激。
此代码将视图移动到屏幕上
- (IBAction)Register:(id)sender {
//(self.view.frame.size.width/2)-(self.SignUp_Screen.frame.size.width/2);
//self.login_Screen.hidden = YES;
self.blurView.hidden = NO;
//self.SignUp_Screen.layer.zPosition = 5;
NSLog(@"Register");
self.SignUp_Screen.hidden = NO;
[UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
self.SignUp_Screen.frame = CGRectMake(35, 50,self.SignUp_Screen.frame.size.width , self.SignUp_Screen.frame.size.height);
} completion:^(BOOL finished) {
}];
}
这些是文本字段的委托方法
-(void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"TextFieldEndEditing");
[textField resignFirstResponder];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSLog(@"textFieldShouldReturn");
[textField resignFirstResponder];
return YES;
}
【问题讨论】:
-
你在使用自动布局吗? - 如果是这样,您应该考虑将 IBOutlet 添加到您的一个或多个约束并为其值设置动画,而不是框架本身。
-
是的,我正在使用自动布局
-
我在禁用大小类和自动布局后尝试了您的代码,它工作正常
-
嗯,这意味着自动布局导致问题
标签: ios objective-c uitextfield first-responder uitextfielddelegate