Mam problem podczas używania CGAffineTransformMakeTranslation na iOS7. Widok, w którym używam CGAffineTransformMakeTranslation, będzie się zmieniał w innej pozycji podczas uruchamiania iOS7 i iOS8. Dlaczego to i co robię źle?iOS7 - Dlaczego transformacja CGAffine działa poprawnie w systemie iOS8, ale nie w systemie iOS7?
Mam widok, który nazywam "hud", czyli długość jego parentView i 125,0 wysokości. Używam Auto Layout i tutaj jest zrzut ekranu mojej planszy fabularnej, dzięki czemu możesz zobaczyć, jak mam ustawione ograniczenia. Widok kontenera to widok kolekcji zdjęć.
mam „HUD” ukryć razu z transformacji w dół i po wybraniu zdjęcia zostanie ono ślizgać się z powrotem do widoku.
-(void)showHud:(BOOL)show
{
NSLog(@"Frame Height: %f", hud.frame.size.height);
if (show && !hudSelectionMode)
{
[UIView animateWithDuration:0.5 delay:0 options:0
animations:^{
hud.transform = CGAffineTransformMakeTranslation(0, 0);
hud.alpha = 0.8f;
}
completion:^(BOOL finished){
}
];
}
else if (!show && !hudSelectionMode)
{
[UIView animateWithDuration:0.5 delay:0 options:0
animations:^{
hud.transform = CGAffineTransformMakeTranslation(0, hud.frame.size.height);
hud.alpha = 0.8f; // will be 0.0 when not testing
}
completion:^(BOOL finished){
}
];
}
}
Tutaj jest problem Na systemów iOS 8 to działa bezbłędnie HUD jest ukryte przed rozpoczęciem i zsunie się, gdy obraz jest wybrany:
Jednak gdy działa na urządzeniach iOS7 HUD nie jest gdzie bym się spodziewał, że będzie:
Jeśli skomentuję cały kod w - (void) showHud: (BOOL) pokaż, czy hud zasiada u dołu parentView, gdzie spodziewam się tego na 7 i 8.
Czy niedawno włączyłeś opcję AutoLayout lub SizeClasses w programie Interface Builder? – Fogmeister
wyłączenie autolayout naprawiono dla mnie –
Moje doświadczenie jest takie samo jak @MikeBryant - wyłączono autolayout, powracając do old-school autosizing rozwiązało to również dla mnie. – hsoi