/ / UITextField artefakt po przesunięciu - target-c, ios, xcode, uitextfield

Artefakt UITextField po przesunięciu - cel-c, ios, xcode, uitextfield

Mam pytanie dotyczące artefaktów pojawiających się, kiedy UITextField porusza się w bloku animacji ...

Zanim ruszę moje UITextField To wygląda tak:

UITextField przed zmianą

i po przeniesieniu się w ten sposób:

UITextField po przesunięciu

Domyślam się, że ma to coś wspólnego z czcionkami po UITextField jest przesunięty.


tutaj kod, którego używam do przenoszenia 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];
}

Odpowiedzi:

1 dla odpowiedzi № 1

Możliwe, że wynikowa klatka nie jest takawyrównane na parzystą liczbę całkowitą. Oznacza to, że przesunięcie tej wielkości powoduje, że ramka wygląda podobnie (100,5, 50,0, 50,0, 50,0). Kiedy rysujesz na granicy połowy piksela, niektóre z procedur rysowania sprawią, że rzeczy będą wyglądały na zamglone, aby spróbować pokazać je we właściwym miejscu. Wydrukuję ramkę po animacji i sprawdzę:

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

Jeśli widzisz wartości niecałkowite, użyj jednej z funkcji floor (), aby zmodyfikować wynikową ramkę, aby przyciągnąć ją do granicy.