Mam pytanie dotyczące artefaktów pojawiających się, kiedy UITextField
porusza się w bloku animacji ...
Zanim ruszę moje UITextField
To wygląda tak:
i po przeniesieniu się w ten sposób:
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 № 1Moż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.