Ich habe UITextView (textView) in einer anderen Ansicht (extView) in meinem Ziel C-Projekt mit etwas Text drin. Der Text in textView ist ziemlich lang, also könnte er maximiert und minimiert werden. Natürlich würde ich es gerne mit etwas Animation machen. ich ändern, um die Höhe von extView mit Code:Objective C: Wie vergrößere ich die Größe der Uitextview mit Animation?
- (void)setExtViewHeight:(CGFloat)newHeight withAnimation:(CGFloat)duration
{
[self setNeedsUpdateConstraints];
[UIView animateWithDuration:duration
animations:^
{
self.extViewHeight.constant = newHeight;
[self layoutIfNeeded];
[self.textView layoutIfNeeded];
}
completion:^(BOOL finished)
{
[self layoutSubviews];
}
];
}
Mein Problem ist, dass Animation sind tatsächlich funktioniert nur für extView. Wenn ich versuche, meine Ansicht zu minimieren, springt die textView auf neue Höhe und danach ändert sich die extView-Höhe mit der Animation. Dieser Sprung von textView ist wirklich nervig und sieht nicht gut aus. Könnten Sie mir bitte eine helfende Hand geben, was habe ich falsch gemacht? Warum folgt die Höhe von textView nicht der Animation?
Ich bin nicht vertraut mit Auto-Layout (ich bevorzuge immer noch autoResizingMasks). Wenn Sie die Größe von extView ändern, sollten Sie die textView auch nicht manuell anpassen müssen. Sie sollten die Textansicht so einrichten können, dass sie ihren Abstand zu den Kanten beibehält. In diesem Fall wäre das die Entfernung vom Boden. ExtView sollte dann seine Unteransichten automatisch anpassen (Sie müssen dies möglicherweise auch aktivieren). – pnizzle