如何在输入字段中输入任何文本时移动视图上方

时间:2013-03-13 06:10:55

标签: ios ipad landscape

我有app我希望当用户输入任何数据时,视图应该向上滑动。 我正在编写此代码,此代码在另一个应用程序中工作正常,但在此应用程序中无效。我遵循相同的方式。

-(void)showAnimationBack{

    NSLog(@"Back Animation is Working");


    [UIView animateWithDuration:0.5 
                     animations:^{
                         self.subViewLand.frame = CGRectMake(0,-10,1024,768);


                     }];

}


-(void) showAnimationPests{


    NSLog(@" Animation is Working");


    [UIView animateWithDuration:0.5 
                     animations:^{
                         self.subViewLand.frame = CGRectMake(0,-200,1024,768);


                     }];


}

3 个答案:

答案 0 :(得分:1)

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    self.subViewLand.frame  = CGRectMake(0,-200,1024,768); // or to self.view.frame  = CGRectMake(0,-200,1024,768);
    [UIView commitAnimations];
}

- (void)textFieldDidEndEditing:(UITextField *)textField{
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.5];
        self.subViewLand.frame = CGRectMake(0,-200,1024,768); // or to self.view.frame  = CGRectMake(0,-200,1024,768);
        [UIView commitAnimations];
} 

此代码可以使用

答案 1 :(得分:0)

在textfielddidBeginEditing方法中设置视图框架,如下所示

 - (void)textFieldDidBeginEditing:(UITextField *)textField
{
   [self.subViewLand setFrame:CGRectMake(0, -200, 320, 480)];
}

在textfielddidEndEditing方法中设置视图框架。

- (void)textFieldDidEndEditing:(UITextField *)textField{
    [self.subViewLand setFrame:CGRectMake(0, 0, 320, 480)];
} 

一定会奏效。 :)

答案 2 :(得分:0)

textFieldDidBeginEditing()中调用您的方法showAnimationPests(),同样在textFieldDidEndEditing()调用showAnimationBack()

这对你很好。