I uiview benutzerdefinierte Klasse und implementiert in Main-View-ControllerConstraints Animation ist falsch
-(KPHomeChartCategory *)chartCategory {
if (!_chartCategory) {
_chartCategory = [[KPHomeChartCategory alloc] init];
_chartCategory.delegate = self;
_chartCategory.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:_chartCategory];
[self.chartCategory.topAnchor constraintEqualToAnchor:self.topAnchor constant:-7.5].active = YES;
[self.chartCategory.rightAnchor constraintEqualToAnchor:self.rightAnchor].active = YES;
self.chartCategoryLeftAnchor = [self.chartCategory.leftAnchor constraintEqualToAnchor:self.rightAnchor];
self.chartCategoryLeftAnchor.active = YES;
[self.chartCategory.heightAnchor constraintEqualToConstant:100].active = YES;
}
return _chartCategory;
}
habe ich uiview benutzerdefinierte Klasse (KPHomeChartCategory) Einschränkungen auf diese Weise
-(void)openPanelTagAnimation {
self.chartCategoryLeftAnchor.active = NO;
self.chartCategoryLeftAnchor = [self.chartCategory.leftAnchor constraintEqualToAnchor:self.rightAnchor constant:-self.frame.size.width +105];
self.chartCategoryLeftAnchor.active = YES;
[UIView animateWithDuration:.6 delay:0 usingSpringWithDamping:1 initialSpringVelocity:1 options:UIViewAnimationOptionCurveEaseOut animations:^{
self.customSwitch.alpha = 0;
[self layoutIfNeeded];
} completion:nil];
}
Jetzt animiert, wenn Sie schauen Im Video werden Sie feststellen, dass bei der ersten Anzeige von customView die Ansicht meiner Sammlung von oben angezeigt wird, aber danach scheint die Animation vollkommen unkompliziert zu sein ... können Sie mich verstehen lassen, warum dieses Ding?
Video Link
VIDEO ANIMATION
Warum meine Animation zuerst von oben nach unten beginnt und erst dann linear? (die lineare Animation von rechts nach links ist die richtige und sollte das erste Mal sein, dass die benutzerdefinierte Ansicht animiert wird)
beyowulf hallo ... ich Ihre Methode korrekt umgesetzt haben, und jetzt funktioniert es perfekt .. ich Ihnen für Ihre Hilfe bedanken ... Ich habe eine Animation mit einem booleschen Wert tagPanelIsOpen: (BOOL) open ... ich wollte Sie fragen, ob CGAffineTransformIdentity ich es eingeben muss, wenn der Wert JA ist und wenn der Wert NEIN ist? oder nur wenn der Wert JA ist? – kAiN
Denken Sie, dass es "CGAffineTransformIdentity" sein soll, wenn das Panel vollständig auf dem Bildschirm angezeigt werden soll und gleich der Übersetzung sein soll, wenn Sie außerhalb des Bildschirms sein möchten. – beyowulf
Naja ... dann vorher show (vorher Constraint Change) und vorher ausblenden ... oder? – kAiN