转移后的UITextField工件

时间:2012-04-21 16:25:57

标签: objective-c ios xcode uitextfield

我对UITextField在动画块中移动时出现的工件有疑问......

在我移动UITextField之前,它看起来像这样:

UITextField before shifting

在这样移动之后:

UITextField after shifting

我的猜测是,UITextField移位后,它与字体有关。


这是我用来移动UITextField的代码:

if (answerText.editing)
{
    [UIView beginAnimations:@"Moving UITextField" context:nil];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDuration:1.0];
    movingAnswer = CGPointMake(160,75);
    answerText.center = movingAnswer;
    [UIView commitAnimations];
}

1 个答案:

答案 0 :(得分:1)

可能是结果帧未在偶数整数上对齐。即移动该数量导致该帧类似于(100.5,50.0,50.0,50.0)。当您在半像素边界上绘图时,某些绘图例程会使事物看起来模糊,以使其显示在正确的位置。我会在动画后打印出框架并检查:

NSLog(@"%@", NSStringFromCGRect(movingAnswer.frame));

如果您看到任何非整数值,请使用其中一个floor()函数修改生成的帧,以便将其捕捉到边界。