[ios]UITextView 不良内容偏移量后对视图进行动画处理

发布时间: 2015/3/28 9:36:24
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个 UITextView 在视图的底部。当用户点击它时,我需要把动画视图 150px。我使用的:

- (void)textViewDidBeginEditing:(UITextView *)textView{

- (void)textViewDidEndEditing:(UITextView *)textView{

使这。

对 iOS5,它工作正常。但在 iOS 4.3,当视图动画的内容在这 UITextView 上升几个像素。

屏幕快照: http://cl.ly/1q3e0W2G1M000u1U3w1f

有人遇到过类似的问题吗?

代码:

- (void)textViewDidBeginEditing:(UITextView *)textView{
    if([textView.text isEqualToString:@"Placeholder text"]){
        textView.text = @"";
    }

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDuration:0.3];
    [UIView setAnimationBeginsFromCurrentState:YES];
    self.view.frame = CGRectMake(self.view.frame.origin.x, (self.view.frame.origin.y - 150.0), self.view.frame.size.width, self.view.frame.size.height);
    [UIView commitAnimations];
}

- (void)textViewDidEndEditing:(UITextView *)textView{
    if([textView.text isEqualToString:@""]){
        textView.text = @"Placeholder text";
    }

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDuration:0.3];
    [UIView setAnimationBeginsFromCurrentState:YES];
    self.view.frame = CGRectMake(self.view.frame.origin.x, (self.view.frame.origin.y + 150.0), self.view.frame.size.width, self.view.frame.size.height);
    [UIView commitAnimations];    
}

解决方法 1:

当完成后调用方法在 textViewDidBeginEditing 方法中和你动画播放后,您需要重置文本视图的内容插入......

请尝试此代码:

- (void)textViewDidBeginEditing:(UITextView *)textView{
   [textView setContentInset:UIEdgeInsetsMake(0, 0, 0, 0)];
}
官方微信
官方QQ群
31647020